Bonsoir
J
Je suis débutant dans le vba j'ai réussi à faire la macro ci dessous qui fonctionne mais je souhaite insérer une boucle afin incrémenter automatiquement le numéro du signet du word associé à la ligne suivante d'excel 1. Signet1 =A1 ; Signet2=A2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Sub Macro2() ' ' Macro2 Macro ' 'Dim wordApp As Word.Application 'Dim wordDoc As Word.Document Dim WordApp As Object Dim WordDoc As Object Dim i As Byte Set WordApp = CreateObject("word.application") 'ouvre session word et le fichier voulu Set WordDoc = WordApp.Documents.Open("C:\Users\G38055\Desktop\test.docx") 'ouvre document Word WordApp.Visible = False 'word masqué pendant l'operation 'dans le document word, il faut avoir placé des signets aux endroits qu'on veut remplir 'à l'endroit de chaque signet qui se trouve dans le fichier word on va inscrire le contenu des cellules WordDoc.Bookmarks("Signet1").Range.Text = Cells(1, 1) 'WordDoc.Bookmarks("nom du second signet").Range.Text = Cells(numéro de ligne, numéro de colonne) WordApp.Visible = True 'affiche le document Word 'WordDoc.PrintOut 'si on veut imprimer 'WordDoc.Close True 'si on veut fermer le document word en sauvegardant les données 'WordApp.Quit 'ferme la session Word End Sub
J'ai fait l'essai avec ce code mais je ça bloaque ici WordDoc.Bookmarks("Signet" & i).Range.Text = Cells(i, 1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Sub Macro2() ' ' Macro2 Macro ' Dim WordApp As Object Dim WordDoc As Object Dim i As Byte Set WordApp = CreateObject("word.application") 'ouvre session word et le fichier voulu Set WordDoc = WordApp.Documents.Open("C:\Users\G38055\Desktop\test.docx") 'ouvre document Word WordApp.Visible = False 'word masqué pendant l'operation 'dans le document word, il faut avoir placé des signets aux endroits qu'on veut remplir 'à l'endroit de chaque signet qui se trouve dans le fichier word on va inscrire le contenu des cellules For i = 1 To 3 'les signets du document Word sont nommés Signet1 , Signet2 , Signet3 WordDoc.Bookmarks("Signet" & i).Range.Text = Cells(i, 1) Next i 'WordDoc.Bookmarks("nom du second signet").Range.Text = Cells(numéro de ligne, numéro de colonne) WordApp.Visible = True 'affiche le document Word 'WordDoc.PrintOut 'si on veut imprimer 'WordDoc.Close True 'si on veut fermer le document word en sauvegardant les données 'WordApp.Quit 'ferme la session Word End Sub
Partager