Solutions VBA et Office dans Visual Studio par rapportVBA and Office solutions in Visual Studio compared

Microsoft Visual Basic pour Applications (VBA) utilise du code non managé étroitement intégré aux applications Office.Microsoft Visual Basic for Applications (VBA) uses unmanaged code that is tightly integrated with Office applications. Les projets Microsoft Office créés à l'aide de Visual Studio vous permettent de tirer parti des outils de conception de .NET Framework et Visual Studio.Microsoft Office projects created by using Visual Studio enable you to take advantage of the .NET Framework and Visual Studio design tools.

Pour plus d’informations sur les types de solutions Office que vous pouvez créer à l’aide de Visual Studio, consultez présentation du développement de solutions Office (VSTO).For information about the types of Office solutions you can create by using Visual Studio, see Office solutions development overview (VSTO).

ComparaisonComparison

Le tableau suivant répertorie les principales différences entre les solutions VBA et les solutions Office dans Visual Studio.The following table provides a basic comparison between VBA solutions and Office solutions in Visual Studio.

Solutions VBAVBA solutions Solutions Office dans Visual StudioOffice solutions in Visual Studio
Utilisent du code qui est lié à un document spécifique et qui est stocké de façon persistante avec ce document.Uses code that is connected to and persisted with a specific document. Utilise le code qui est stocké séparément du document (pour les personnalisations au niveau du document), ou dans un assembly est chargé par l’application (pour les Compléments VSTO).Uses code that is stored separately from the document (for document-level customizations), or in an assembly that is loaded by the application (for VSTO Add-ins).
Fonctionnent avec les modèles objet Office et les API VBA.Works with the Office object models and VBA APIs. Fournissent l'accès à la fois aux modèles objet Office et aux API .NET Framework.NET Framework .Provides access to both the Office object models and the .NET Framework.NET Framework APIs.
Permettent d'enregistrer des macros et simplifient le travail du développeur.Designed for macro recording and a simplified developer experience. Améliorent la sécurité, facilitent la maintenance du code et permettent l'utilisation de l'environnement de développement intégré (IDE) de Visual Studio dans son intégralité.Designed for security, easier code maintenance, and the ability to use the full Visual Studio integrated development environment (IDE).
Fonctionne bien pour les solutions qui bénéficient d’une intégration étroite avec les applications Office.Works well for solutions that benefit from a tight integration with Office applications. Conviennent pour les solutions qui utilisent les ressources complètes de Visual Studio et de .NET Framework.NET Framework.Works well for solutions that benefit from the full resources of Visual Studio and the .NET Framework.NET Framework.
Présentent des limites d'utilisation dans l'entreprise, notamment dans les domaines de la sécurité et du déploiement.Has limitations for the enterprise, especially in the areas of security and deployment. Sont adaptées pour une utilisation dans l'entreprise.Designed for use in the enterprise.

Certains résultats restent plus simples et plus rapides à obtenir avec VBA.Some things are still easier to do quickly using VBA. En particulier, vous pouvez continuer à utiliser VBA pour :Specifically, you might want to continue using VBA for:

  • les fonctions de feuille de calcul personnalisées ;Custom worksheet functions.

  • l'enregistrement de macros.Macro recording.

Combiner des solutions VBA et les solutions Office créées à l’aide de Visual StudioCombine VBA solutions and Office solutions created by using Visual Studio

Vous pouvez appeler du code VBA à partir de solutions Office créées à l'aide de Visual Studio et, inversement, appeler du code des solutions Office créées avec Visual Studio à partir de VBA.You can call VBA code from Office solutions created by using Visual Studio, and you can also call code in Office solutions created by using Visual Studio from VBA. La technique appropriée diffère selon que votre solution Office est un complément VSTO ou une personnalisation au niveau du document.The specific technique differs depending on whether your Office solution is a VSTO Add-in or a document-level customization. Pour plus d’informations, consultez appeler du code dans des Compléments VSTO à partir d’autres solutions Office et combiner de VBA et de personnalisations au niveau du document.For more information, see Call code in VSTO Add-ins from other Office solutions and Combine VBA and document-level customizations.

Voir aussiSee also

Vue d’ensemble du développement de solutions Office (VSTO) Office solutions development overview (VSTO)
Appeler du code dans des Compléments VSTO à partir d’autres solutions Office Call code in VSTO Add-ins from other Office solutions
Combiner VBA et personnalisations au niveau du document Combine VBA and document-level customizations
Architecture des personnalisations au niveau du document Architecture of document-level customizations
Architecture des Compléments VSTO Architecture of VSTO Add-ins
Sécurisez les solutions Office Secure Office solutions
Prise en main (développement Office dans Visual Studio)Get started (Office development in Visual Studio)