FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Intégrer des données Excel dans Word avec VBA : Guide pratique et complet

Mise à jour par Brad Jones le 25 août 2017.

Dans votre quotidien professionnel, il est fréquent de devoir copier-coller des données de Microsoft Excel vers Word, ou vice versa. Les rapports écrits basés sur des données mises à jour dans une feuille de calcul sont courants. Excel excelle pour les graphiques professionnels ou le suivi de projets, mais Word reste idéal pour la rédaction de rapports structurés.

Dans ce tutoriel expert, découvrez les scripts VBA qui connectent les données Excel à vos documents Word, pour une intégration fluide et automatisée.

Intégrer des données Excel dans Word est simple une fois les références VBA configurées et la syntaxe maîtrisée.

Configurer la feuille de calcul

Pour cet exemple, utilisons une feuille Excel simple listant les dépenses annuelles. En pratique, cela fonctionne avec des fichiers complexes à multiples onglets.

Tant que vous connaissez la localisation des données, VBA les récupère facilement.

Voici un exemple de feuille de calcul :

Intégrer des données Excel dans Word avec VBA : Guide pratique et complet

Configurer le document Word

Pour un rapport élégant regroupant les dépenses, intégrez des contrôles comme des zones de texte et libellés. Activez l'onglet Développeur, sélectionnez Mode Création dans Contrôles, et utilisez les Outils hérités.

Intégrer des données Excel dans Word avec VBA : Guide pratique et complet

Insérez un Libellé :

Intégrer des données Excel dans Word avec VBA : Guide pratique et complet

Positionnez-le, puis nommez-le via Clic droit > Propriétés > (Nom) pour que VBA l'identifie.

Intégrer des données Excel dans Word avec VBA : Guide pratique et complet

Ajoutez un Bouton de commande des Outils hérités, double-cliquez pour ouvrir l'éditeur VBA. Plus tard, liez-le à l'événement Document_Open().

Travailler avec VBA

Pour lier Word à Excel, référencez la bibliothèque Excel.

Préparer l'importation des données Excel

Dans l'éditeur VBA, allez dans Outils > Références, cochez Bibliothèque d'objets Microsoft Excel 16.0.

Intégrer des données Excel dans Word avec VBA : Guide pratique et complet

Voici un script VBA simple pour extraire et afficher les données :

Private Sub CommandButton1_Click()
    Dim objExcel As New Excel.Application
    Dim exWb As Excel.Workbook
    Set exWb = objExcel.Workbooks.Open("C:\Users\Brad\Desktop\expenses.xlsx")
    ThisDocument.total_expenses.Caption = exWb.Sheets("Sheet1").Cells(12, 2)
    exWb.Close
    Set exWb = Nothing
End Sub

Ce code ouvre le fichier Excel, extrait la valeur de la cellule spécifiée et l'affiche dans le libellé total_expenses. Adaptez le chemin et le nom.

Tester la macro

Enregistrez en Document Word compatible avec les macros :

Intégrer des données Excel dans Word avec VBA : Guide pratique et complet

Voici le résultat :

Intégrer des données Excel dans Word avec VBA : Guide pratique et complet

Intégrer plusieurs libellés Excel

Pour aligner texte et données, intégrez le texte statique dans le code VBA avec l'opérateur & :

Intégrer des données Excel dans Word avec VBA : Guide pratique et complet
Private Sub CommandButton1_Click()
    Dim objExcel As New Excel.Application
    Dim exWb As Excel.Workbook
    Set exWb = objExcel.Workbooks.Open("C:\Users\Brad\Desktop\expenses.xlsx")
    ThisDocument.total_expenses.Caption = exWb.Sheets("Sheet1").Cells(12, 2)
    ThisDocument.total_hotels.Caption = "Hôtels : " & exWb.Sheets("Sheet1").Cells(5, 2)
    ThisDocument.total_dining.Caption = "Dîner au restaurant : " & exWb.Sheets("Sheet1").Cells(2, 2)
    ThisDocument.total_tolls.Caption = "Péages : " & exWb.Sheets("Sheet1").Cells(3, 2)
    ThisDocument.total_fuel.Caption = "Carburant : " & exWb.Sheets("Sheet1").Cells(10, 2)
    exWb.Close
    Set exWb = Nothing
End Sub

Résultat final :

Intégrer des données Excel dans Word avec VBA : Guide pratique et complet

Aller plus loin

Automatisez sur Document_Open() pour masquer le bouton. Ouvrez le document : les données se mettent à jour seules. Imprimez en un clic !

Quelles autres applications VBA imaginez-vous ? Partagez vos idées en commentaires.

Crédit image : Punyaphat Larpsomboon via Shutterstock.com

[]