Comment copier les données d’Excel à Word à l’aide VBA Excel
Pour copier des données d’Excel dans un fichier Word à l’aide de VBA, nous devons accéder à l’application Word à l’aide d’Excel VBA. Dans ce didacticiel, nous allons apprendre à ouvrir une application Word, à ajouter un document et à copier-coller des données d’Excel.
Dans cet article, nous utiliserons la méthode Early Binding pour créer un objet d’application Word au lieu d’utiliser la liaison tardive. Vous pouvez lire ici en détail.
Le processus de copie de données Excel dans un fichier Word à l’aide d’Excel VBA Pour copier des données d’Excel vers un fichier Word à l’aide de VBA, nous devons d’abord ouvrir l’application Word bien sûr. Ajoutez-y ensuite un document (si vous voulez un nouveau document). Copiez les données du fichier Excel. Sélectionnez le paragraphe sur le document et collez-le.Enfin, enregistrez et fermez le document. Chacune de ces étapes peut être effectuée facilement à partir d’Excel. Vous n’aurez pas besoin d’interagir avec le document Word.
Commençons par un exemple sans aller plus loin dans la théorie. Parce qu’Iron Man a dit: « Parfois, il faut courir avant de pouvoir marcher ».
Exemple: Coller des données Excel dans Word à l’aide de VBA Le code ci-dessous est un exemple de la façon dont vous pouvez copier une plage d’Excel et la coller dans un nouveau document Word et l’enregistrer sur le lecteur pour l’utiliser plus tard
'VBA Code To Write to Copy data from Excel to A Document Sub ExcelToWord() 'Using Early Binding Dim wordApp As Word.Application Dim mydoc As Word.Document 'Creating a new instance of word only if there no other instances Set wordApp = New Word.Application 'Making word App Visible wordApp.Visible = True 'Creating a new document Set mydoc = wordApp.Documents.Add() 'copying the content from excel sheet ThisWorkbook.Worksheets("sheet1").Range("A1:g20").Copy 'Pasting on the document mydoc.Paragraphs(1).Range.PasteExcelTable _ LinkedToExcel:=False, _ WordFormatting:=False, RTF:=False 'saving the document mydoc.SaveAs2 "MyDoc" 'closing the document mydoc.Close 'Emptying the Clipboard CutCopyMode = False End Sub
Explication du code:
Eh bien, j’ai expliqué chaque étape du code lui-même à l’aide de commentaires, mais parlons des lignes que nous avons utilisées dans ce sous-marin.
‘Variables créées de l’application Word et du type de document Dim wordApp As Word.Application Dim mydoc As Word.Document Nous avons ici déclaré deux variables des types requis. Nous pouvons le faire car nous avons déjà ajouté la référence au mot application. Vous pouvez le faire en accédant aux outils du menu. Rechercher l’option de références, puis recherchez la référence de mot.
_ ‘Créer une nouvelle instance de mot uniquement s’il n’y a pas d’autres instances _Set wordApp = New Word.Application ‘Rendre Word App Visible wordApp.Visible = True _ _’Création d’un nouveau document _Set mydoc = wordApp.Documents.Add ( ) _ Dans la première ligne ci-dessus, nous intensifions la variable wordApp avec un objet de type Word.App en utilisant le mot-clé New. Cela ouvrira l’application Word.
Dans la deuxième ligne, nous rendons le mot application visible afin que nous puissions travailler avec lui.
Dans la ligne suivante, nous ajoutons un nouveau document à l’application Word à l’aide de la fonction Word.Documents.Add (). Ceci est stocké dans la variable mydoc.
‘copier le contenu de la feuille Excel CeWorkbook.Worksheets (« feuille1 »). Range (« A1: G20 »). Copy Ici, nous copions simplement une plage d’Excel. Vous devez l’avoir fait avant. Il est stocké dans le presse-papiers.
‘Pasting sur le document mydoc.Paragraphs (1) .Range.PasteExcelTable _LinkedToExcel: = False, _WordFormatting: = False, _ _RTF: = False Nous utilisons la méthode PasteExcelTable de la classe Paragraph.Range de mydoc pour coller des données depuis presse-papiers.
‘saving the document mydoc.SaveAs2 « MyDoc » _ _’closing the document mydoc.Close ‘Empting the Clipboard CutCopyMode = False Nous enregistrons le document sous le nom MyDoc. Ensuite, nous fermons le document à l’aide de la fonction Fermer. Enfin, nous libérons le presse-papiers pour être utilisé par d’autres.
Alors oui les gars, voici comment vous pouvez créer un nouveau document Word et y copier des données Excel en utilisant VBA. Je ne suis pas entré dans les détails car cela rendrait l’article extrêmement long. Ce n’était que pour apprendre comment coller dans un document Word via Excel. J’espère que cela vous a aidé à comprendre le processus. Si vous avez des questions concernant cet article, vous pouvez me contacter via la section commentaires ci-dessous.
Articles liés:
link: / applications-word-outlook-in-vba-getting-started-with-excel-vba-userforms [Premiers pas avec Excel VBA UserForms]
| * Je vais vous expliquer comment créer un formulaire dans Excel, comment l’utiliser Boîte à outils VBA, comment gérer les entrées utilisateur et enfin comment stocker les entrées utilisateur. Nous allons parcourir ces sujets en utilisant un exemple et un guide étape par étape.
lien: / general-topics-in-vba-vba-variables-in-excel [Variables VBA dans Excel]
| * VBA signifie Visual Basic pour Applications.
C’est un langage de programmation de Microsoft. Il est utilisé avec les applications Microsoft Office telles que MSExcel, MS-Word et MS-Access, tandis que les variables VBA sont des mots-clés spécifiques.
link: / general-topics-in-vba-excel-vba-variable-scope [Excel VBA Variable Scope]
| * Dans tous les langages de programmation, nous avons des spécificateurs d’accès aux variables qui définissent à partir de quel endroit une variable définie peut être accédée. Excel VBA ne fait pas exception. VBA a également des spécificateurs de portée.
lien: / cells-ranges-rows-and-columns-in-vba-quelle-est-la-difference-entre-byref-and-byval-arguments-vba-interview-question [Arguments ByRef et ByVal]
| Lorsqu’un argument est passé en tant qu’argument ByRef à un autre sous ou fonction, la référence de la variable réelle est envoyée. Toute modification apportée à la copie de la variable sera reflétée dans l’argument d’origine.
lien: / fichiers-classeur-et-feuilles de travail-dans-vba-supprimer-feuilles-sans-confirmation-invites-utilisant-vba-dans-microsoft-excel [Supprimer les feuilles sans invites de confirmation en utilisant VBA dans Microsoft Excel]
| Puisque vous supprimez des feuilles à l’aide de VBA, vous savez ce que vous faites.
Vous voudriez dire à Excel de ne pas afficher cet avertissement et de supprimer la fichue feuille.
link: / files-workbook-and-worksheets-in-vba-add-and-save-new-workbook-using-vba-in-microsoft-excel [Ajouter et enregistrer un nouveau classeur en utilisant VBA dans Microsoft Excel 2016]
| Dans ce code, nous avons d’abord créé une référence à un objet de classeur. Et puis nous l’avons initialisé avec un nouvel objet classeur. L’avantage de cette approche est que vous pouvez effectuer facilement des opérations sur ce nouveau classeur. Comme enregistrer, fermer, supprimer, etc `link: / menus-toolbars-status-bar-in-vba-display-a-message-on-the-statusbar-using-vba-in-microsoft-excel [Afficher un message sur La barre d’état Excel VBA *] `| La barre d’état dans Excel peut être utilisée comme moniteur de code. Lorsque votre code VBA est long et que vous effectuez plusieurs tâches à l’aide de VBA, vous désactivez souvent la mise à jour de l’écran pour ne pas voir cet écran scintiller.
lien: / general-topics-in-vba-turn-off-warning-messages-using-vba-in-microsoft-excel [Désactiver les messages d’avertissement à l’aide de VBA dans Microsoft Excel 2016]
| * Ce code désactive non seulement VBA alertes mais augmente également l’efficacité temporelle du code. Voyons comment.
Articles populaires:
lien: / clavier-formule-raccourcis-50-excel-raccourcis-pour-augmenter-votre-productivité [50 raccourcis Excel pour augmenter votre productivité]
| Accélérez votre tâche. Ces 50 raccourcis vous permettront de travailler encore plus rapidement sur Excel.
lien: / formules-et-fonctions-introduction-de-vlookup-function [La fonction RECHERCHEV dans Excel]
| C’est l’une des fonctions les plus utilisées et les plus populaires d’Excel qui est utilisée pour rechercher la valeur de différentes plages et feuilles. lien: / tips-countif-in-microsoft-excel [COUNTIF dans Excel 2016]
| Comptez les valeurs avec des conditions en utilisant cette fonction étonnante. Vous n’avez pas besoin de filtrer vos données pour compter des valeurs spécifiques.
La fonction Countif est indispensable pour préparer votre tableau de bord.
lien: / excel-formule-et-fonction-excel-sumif-function [Comment utiliser la fonction SUMIF dans Excel]
| C’est une autre fonction essentielle du tableau de bord. Cela vous aide à résumer les valeurs sur des conditions spécifiques.