Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Depuis VBA Excel, imprimer un doc Word avec Champs remplis

1 réponse
Avatar
J2M27
Bonjour,
Voilà mon problème:
Dans Excel, on lance une macro, qui doit, entre autre, imprimer un document
WORD en préremplissant l'entête avec une dizaine de données du genre :
Num_OF, Ref_Art etc..

Pouvez vous m'éclairer pour , dans mon module VBA :
- lancer Word (si non lancé)
- charger le fichier (toujours le même) si non chargé
- l'imprimer après avoir donner les valeurs aux champs de ce fichier
- revenir dans Excel

Ce doit être classique mais je n'ai pas trouvé dans le forum (ni dans celui
de Word)

Merci d'avance pour vos conseils

Jean-Marc

1 réponse

Avatar
RGI
Bonjour

cocher Word en références dans Excel VBE
Microsoft Word xx.x Object Library

ensuite mettre ce code dans un module

dans fichier.doc il devra y avoir un tableau avec au moins trois cellules
avec cette exemple mettre une valeur dans A2 B2 C2 de la feuille active

Sub DonnéesExcelsurTableauWord()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Application.DisplayAlerts = True
AppWord.ShowMe
AppWord.Visible = True
'Ouvre le document Word
Set DocWord = AppWord.Documents.Open("c:Fichier.doc", ReadOnly:úlse)
' Copie les données Excel
premligne = Range("A2").Value
secondligne = Range("B2").Value
troisiemligne = Range("C2").Value
' Colle les données dans Word
DocWord.Tables(1).Rows.Add
Derligne = DocWord.Tables(1).Rows.Count
With DocWord.Tables(1)
.Cell(Derligne, 1).Range.InsertAfter premligne
.Cell(Derligne, 2).Range.InsertAfter secondligne
.Cell(Derligne, 3).Range.InsertAfter troisiemligne
End With
DocWord.Application.ActiveDocument.Save
DocWord.Application.ActiveDocument.PrintOut
AppWord.Application.Quit
End Sub

Salutations

RGI

Bonjour,
Voilà mon problème:
Dans Excel, on lance une macro, qui doit, entre autre, imprimer un document
WORD en préremplissant l'entête avec une dizaine de données du genre :
Num_OF, Ref_Art etc..

Pouvez vous m'éclairer pour , dans mon module VBA :
- lancer Word (si non lancé)
- charger le fichier (toujours le même) si non chargé
- l'imprimer après avoir donner les valeurs aux champs de ce fichier
- revenir dans Excel

Ce doit être classique mais je n'ai pas trouvé dans le forum (ni dans celui
de Word)

Merci d'avance pour vos conseils

Jean-Marc