Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 excel word

  • Initiateur de la discussion Initiateur de la discussion bredeche
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bredeche

XLDnaute Occasionnel
bonjour
j'ai réaliser un tableau et une macro afin que les éléments ou j'ai défini des signet dans Word soit rempli

dans excel les noms defini son sur la ligne 6 du tableau
mais ma macro cui dessous me dis que j'ai une erreur et je ne comprend pas

VB:
Sub deb()
chemin = ThisWorkbook.Path & "\"
'Ouverture de l'application word
Set w = CreateObject("word.application")
'ouverture du fichier type
Set doc = w.documents.Open(chemin & ThisWorkbook.Names("fichier").RefersToRange)
'numéro des colonnes comprenant les données
champs = Array(4, 8, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
'tableau des signets du fichier type
signets = Array("Entreprise", "AdresseENTREPRISE", "CODEPOSTAL", "NOMPRENOM", "INTITULECONTRAT", "CADRECONTRACTUEL", "SITESEXECUTIONS", "PRIX", "PRIXENLETTRE", "PAIEMENTS", "CODEIMPUTATION", "ANNEXE", "DATE")
'écriture des signets
For Each i In champs
doc.bookmarks(signets(i - 1)).Range = Sheets("TABLEAU CONTRAT SOUS-TRAITANCE").Cells(ActiveCell.Row, i)
Next
w.Visible = True
End Sub
pouvez vous m'aidez

merci par vance
 

Pièces jointes

Bonjour Bredeche,
J'arrive surement en retard et vous avez trouver l'erreur. Mais dans le doute ...
Signets comporte 13 éléments.
signets = Array("Entreprise", "AdresseENTREPRISE", "CODEPOSTAL", "NOMPRENOM", "INTITULECONTRAT", "CADRECONTRACTUEL", "SITESEXECUTIONS", "PRIX", "PRIXENLETTRE", "PAIEMENTS", "CODEIMPUTATION", "ANNEXE", "DATE")
et i , qui est extrait de Champs, dépasse 13.
champs = Array(4, 8, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
donc doc.bookmarks(signets(14)).Range est en erreur.
Je pense qu'il faut gérer deux indices :
i pour la colonne excel d'extraction
j pour l'index dans word.
VB:
....
'écriture des signets
j = 0
For Each i In champs
doc.bookmarks(signets(j)).Range = Sheets("TABLEAU CONTRAT SOUS-TRAITANCE").Cells(ActiveCell.Row, i)
j = j + 1
Next
....
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…