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

Comment intégrer des données Excel dans un document Word

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

Au cours de votre semaine de travail, il vous arrivera probablement de nombreuses fois de copier et coller des informations de Microsoft Excel dans Word, ou l'inverse.

C'est ainsi que les gens produisent souvent des rapports écrits basés sur des données accumulées et mises à jour dans une feuille de calcul. Excel est un excellent programme pour tout, de la création de graphiques d'aspect professionnel à la configuration d'un suivi de gestion de projet, mais lorsqu'il s'agit de rédiger un rapport, Word est un bien meilleur outil.

Dans cet article, nous allons nous plonger dans les scripts VBA en arrière-plan qui vous permettent de programmer des connexions entre les données stockées dans un fichier Excel et les documents Word dans lesquels vous produisez des rapports.

Il est étonnamment facile d'intégrer des données Microsoft Excel dans Microsoft Word une fois que vous savez comment ajouter les bonnes références et comment présenter la syntaxe du code VBA d'arrière-plan.

Configurer la feuille de calcul

Dans cet exemple, je vais commencer avec une feuille de calcul Excel assez simple. En pratique, le fichier Excel peut être composé de plusieurs feuilles de calcul contenant de nombreuses données, peu importe.

Tant que vous savez où trouver les données dans la feuille de calcul, vous pourrez y accéder et les récupérer à l'aide de VBA.

Voici à quoi ressemble mon exemple de feuille de calcul. Il s'agit d'une liste des dépenses totales qui ont été calculées tout au long de l'année.

Comment intégrer des données Excel dans un document Word

Configurer le document Word

Imaginons que vous ayez un responsable qui souhaite voir un rapport bien formaté décrivant les dépenses, regroupant des éléments similaires et présentant les informations dans une mise en page un peu plus esthétique.

Pour ce faire, vous pouvez incorporer des objets tels que des zones de texte et des étiquettes dans votre document Word. Lorsque vous êtes dans Word, cliquez simplement sur le Développeur l'onglet de menu, puis sélectionnez "Mode Conception" dans les Contrôles section. Utiliser les outils hérités icône déroulante pour insérer différents éléments dans votre document.

Comment intégrer des données Excel dans un document Word

Utilisez ce menu pour insérer un Libellé .

Comment intégrer des données Excel dans un document Word

Une fois que vous avez placé l'étiquette dans le document où vous le souhaitez (ce qui n'est pas toujours une tâche facile), vous êtes prêt à programmer le flux de données. Mais d'abord, vous devrez nommer l'étiquette afin que le VBA puisse l'identifier. Faites un clic droit sur l'étiquette et allez dans Propriétés . Trouvez le (nom) champ et appelez-le quelque chose dont vous vous souviendrez.

Comment intégrer des données Excel dans un document Word

Maintenant, ajoutez un bouton de commande à partir des mêmes outils hérités liste déroulante et double-cliquez dessus pour ouvrir l'éditeur VBA. Lorsque votre code fonctionnera plus tard, vous pourrez le modifier afin que le code s'exécute sur Document Open() un événement. Vous le verrez dans les listes déroulantes d'objets de la fenêtre de l'éditeur.

Travailler avec VBA

Pour commencer à connecter Word à Excel, vous devez vous assurer que vous pouvez référencer ce dernier dans VBA.

Préparer l' importation de données Excel

Cliquez sur Outils , puis Références . Faites défiler la liste jusqu'à ce que vous voyiez la bibliothèque d'objets Microsoft Excel 16.0 et sélectionnez-le.

Comment intégrer des données Excel dans un document Word

Une fois que vous avez fait cela, le reste n'est qu'une question d'écriture d'un script VBA ridiculement simple pour extraire les données d'une feuille de calcul Excel et mettre automatiquement à jour la légende de l'étiquette avec les données.

Voici le code :

Sous-commande privé CommandButton1_Click()

Dim objExcel As New Excel.Application

Dim exWb As Excel.Workbook

Définir exWb =objExcel.Workbooks.Open("C:\Users\Brad\Desktop\expenses.xlsx")

ThisDocument.total_expenses.Caption =exWb.Sheets("Sheet1").Cells(12, 2)

exWb.Fermer

Définir exWb =Rien

Fin du sous-titre

Vous voyez comment cela fonctionne ? L'objet d'application Excel "exWb" ouvre le fichier Microsoft Excel au chemin que vous lui fournissez, et il ira directement dans la feuille spécifique et le numéro de cellule, extraira les données et le placera dans la propriété Caption de l'étiquette que j'ai nommé dépenses_totales . Tout ce que vous devez modifier dans votre script est le chemin d'accès au fichier et le nom du libellé.

Testez votre macro

Pour tester votre bouton de commande, enregistrez votre document, en n'oubliant pas de spécifier que vous voulez un document compatible avec les macros Word pour que votre code fonctionne.

Comment intégrer des données Excel dans un document Word

Voici la macro VBA en action.

Comment intégrer des données Excel dans un document Word

Intégrer les étiquettes Excel

Le plus difficile avec la gestion des étiquettes dans Word est qu'il est parfois difficile de l'aligner à la fin d'une phrase ou à côté de tout autre texte.

Une façon de surmonter cela consiste en fait à incorporer une partie du texte à côté des données dans le code VBA lui-même. Comme vous pouvez le voir ici, j'ai mis le texte statique directement dans la légende lorsque je crée l'étiquette elle-même.

Comment intégrer des données Excel dans un document Word

Maintenant, tout ce que vous avez à faire est d'inclure ce texte lorsque vous mettez à jour l'étiquette avec votre script VBA, et d'ajouter simplement les données du fichier Microsoft Excel à la fin de ce texte.

Voici à quoi ressemblerait ce type de code.

Dim objExcel As New Excel.Application

Dim exWb As Excel.Workbook

Définir exWb =objExcel.Workbooks.Open("c:\Users\Brad\Desktop\expenses.xlsa")

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.Fermer

Définir exWb =Rien

Vous pouvez utiliser le symbole de concaténation de chaînes "&" pour placer le texte statique avec les données extraites de la feuille Excel. Voici à quoi ressemblent les résultats finaux dans le document Word mis à jour :

Comment intégrer des données Excel dans un document Word

Aller plus loin

Si vous voulez tester vos capacités, pourquoi ne pas automatiser encore plus votre rapport ? Vous pouvez supprimer ce bouton de commande gris et laid de votre document Microsoft Word en exécutant simplement le script de mise à jour des données sur Document.Open() — tout le processus se déroulera dans les coulisses.

Cela signifie que dans de nombreux cas, vous pouvez créer le document initial une seule fois, puis ne plus jamais avoir à le recréer. Tout ce que vous aurez à faire est de l'ouvrir, et toutes les étiquettes seront automatiquement mises à jour pour vous avec les données du fichier Microsoft Excel mis à jour. Cliquez simplement sur Imprimer , et soumettez le rapport à votre responsable. Un travail de 30 minutes s'est transformé en une impression d'une minute !

Pouvez-vous penser à d'autres utilisations intéressantes de cette technique d'intégration de données à l'aide de VBA ? Partagez certaines de vos propres idées et réflexions dans la section des commentaires ci-dessous.

Crédit image :Punyaphat Larpsomboon via Shutterstock.com


[]