Automatisation signets Excel vers Word

Bonjour,

Je suis débutant dans vba et j'ai un problème dans ma formule. Je n'arrive pas à voir laquelle...

Je cherche à automatiser des cellules excel vers des signets spécifiques sur Word, voici ma formule :

Sub ouvrir()

ActiveWorkbook.FollowHyperlink "C:\Users\021284\Desktop\Travail vacances Lucile\test.docx"

'numéro des colonnes comprenant les données

champs = Array(1, 2)

'tableau des signets du fichier type

signets = Array("a", "b")

'écriture des signets

For Each i In champs

doc.Bookmarks(signets(i - 1)).Range = Sheets("feuil1").Cells(ActiveCell.Row, i)

Next

w.Visible = True

End Sub

La ligne surlignée en jaune ne fonctionne pas... Je vous envoie en pièce jointe un exemple.

Votre aide sera précieuse !

Merci par avance !

23test.docx (12.59 Ko)
31test.xlsm (19.18 Ko)

Bonjour,

à tester,

Sub Test_Bookmarks()
'nécessite la référence à Microsoft Word xx.x Object Library

Dim strFichier As String
Dim objWord As New Word.Application

strFichier =  '"C:\Users\021284\Desktop\Travail vacances Lucile\test.docx"
' ouvrir un document Word
objWord.Documents.Open strFichier
objWord.Visible = True

'numéro des colonnes comprenant les données
champs = Array(1, 2)
'tableau des signets du fichier type
signets = Array("A", "B")

'écriture des signets
For i = LBound(champs) To UBound(champs)
test = signets(i)
objWord.ActiveDocument.Range.Bookmarks(signets(i)).Range = Sheets("feuil1").Cells(ActiveCell.Row, champs(i))
Next
End Sub

Cette formule ouvre bien mon word mais n'ajoute pas les cellules au niveau des signets...

RE,

remplace cette ligne

objWord.ActiveDocument.Range.Bookmarks(signets(i)).Range = Sheets("feuil1").Cells(ActiveCell.Row, champs(i))

par

objWord.ActiveDocument.Range.Bookmarks(signets(i)).Range = Sheets("feuil1").Cells(1, champs(i))

voici ce que j'obtiens

Merci beaucoup !!

Savez-vous comment je pourrais automatiser la chose sur plusieurs lignes ?

Par exemple

A

2000

3000

4000

Chaque ligne ayant un signet attribué

Mais déjà merci pour l'aider !

Savez-vous comment je pourrais automatiser la chose sur plusieurs lignes ?
Par exemple
A
2000

pour un seul signet par ligne ?

Oui exactement.

Par exemple :

Coût A : "ligne a2"

Coût B : "ligne a3"

etc....

Désolé pour ma réponse si tardive j'ai énormément de travail en ce moment!

Par exemple :

Coût A : "ligne a2"

Coût B : "ligne a3"

etc....

à tester,

Sub Test_Bookmarks()
'nécessite la référence à Microsoft Word xx.x Object Library

Dim strFichier As String
Dim objWord As New Word.Application

strFichier =  '"C:\Users\021284\Desktop\Travail vacances Lucile\test.docx"
' ouvrir un document Word
objWord.Documents.Open strFichier
objWord.Visible = True

'numéro des lignes comprenant les données
champs = Array(2, 3)

'tableau des signets du fichier type
signets = Array("A", "B")

'écriture des signets
For i = LBound(champs) To UBound(champs)
test = signets(i)
objWord.ActiveDocument.Range.Bookmarks(signets(i)).Range = Sheets("feuil1").Cells(champs(i),"A")
Next
End Sub
Rechercher des sujets similaires à "automatisation signets word"