Copier des informations de feuille de calcul à l’aide de VBA dans mot Microsoft Excel
_Si vous devez copier et coller des données de plusieurs feuilles de calcul Excel dans MS Word, vous devriez lire cet article. Dans Excel, aucune fonctionnalité de ce type ne vous permet de convertir les données du classeur Excel en fichier Word. L’application Word ne peut pas ouvrir directement les fichiers Excel. Cependant, les données Excel peuvent être copiées et collées dans Word, puis enregistrées en tant que document Word.
Nous transférons tous manuellement des données d’Excel en Word, ce qui devient parfois fastidieux lorsqu’il s’agit d’effectuer les mêmes étapes trop de fois par jour; afin d’éviter les étapes manuelles, nous écrirons du code VBA pour faire toutes les étapes._
Dans cet article, nous nous concentrerons sur le déplacement des données d’Excel vers un document Word. Nous automatiserons l’ensemble de la procédure via le code VBA. Avec le code macro, vous pouvez simplement copier les données dans une feuille de calcul à la fois, puis l’application Word sera lancée automatiquement et le code VBA utilisera la commande coller pour insérer les données dans le fichier doc.
Pour obtenir le code; nous devons suivre les étapes ci-dessous pour lancer l’éditeur VB:
Cliquez sur l’onglet Développeur Dans le groupe Code, sélectionnez Visual Basic
Il y a une étape importante à ne pas manquer. Cliquez sur Outils pour sélectionner Références Faites défiler vers le bas jusqu’à ce que vous trouviez «Bibliothèque d’objets Microsoft Word 15.0» Assurez-vous de cocher la case; voir ci-dessous l’image
-
Copiez le code ci-dessous dans le module standard
Sub CopyWorksheetsToWord() Dim wdApp As Word.Application, wdDoc As Word.Document, ws As Worksheet Application.ScreenUpdating = False Application.StatusBar = "Creating new document..." Set wdApp = New Word.Application Set wdDoc = wdApp.Documents.Add For Each ws In ActiveWorkbook.Worksheets Application.StatusBar = "Copying data from " & ws.Name & "..." ws.UsedRange.Copy wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.InsertParagraphAfter wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.Paste Application.CutCopyMode = False wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.InsertParagraphAfter If Not ws.Name = Worksheets(Worksheets.Count).Name Then With wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range .InsertParagraphBefore .Collapse Direction:=wdCollapseEnd .InsertBreak Type:=wdPageBreak End With End If Next ws Set ws = Nothing Application.StatusBar = "Cleaning up..." With wdApp.ActiveWindow If .View.SplitSpecial = wdPaneNone Then .ActivePane.View.Type = wdNormalView Else .View.Type = wdNormalView End If End With Set wdDoc = Nothing wdApp.Visible = True Set wdApp = Nothing Application.StatusBar = False End Sub
===
Pour tester le code, insérons 2 feuilles et ajoutons des nombres aléatoires. Voici un aperçu des deux feuilles de calcul:
1ère feuille: –
2e feuille: –
Après avoir configuré les données dans des feuilles de calcul; nous pouvons exécuter l’application macro Word sera lancée immédiatement et les données seront copiées de toutes les feuilles de calcul dans Word; voir ci-dessous un instantané
Si vous pensez que la copie des données est une tâche, mais qu’il devrait y avoir un saut de page entre les données de chaque feuille de calcul afin que tout le monde puisse facilement faire la différence entre les données de chaque feuille de calcul.
Les données ci-dessus seront copiées à partir d’une feuille, puis le code VBA s’assurera d’ajouter un saut de page entre les pages.
Conclusion: De cette manière, nous pouvons aider de nombreux utilisateurs de Microsoft Office qui pensent que la conversion de données d’un fichier Excel en Word est un peu compliquée, voire impossible. Le code ci-dessus a démontré à quel point il est facile de copier et coller des données dans un fichier Word sans aucun problème de plusieurs feuilles Excel au fichier Word doc.
Si vous avez aimé nos blogs, partagez-les avec vos amis sur Facebook. Et vous pouvez aussi nous suivre sur Twitter et Facebook.
Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer, compléter ou innover notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]