Commande SQL / Word et macro Excel
Bonjour à toutes et tous,
J'ai créé un publipostage sous Word 2016 pour réaliser des étiquettes. Les champs sont alimentés par un fichier Excel nommé Base Étiquettes dans lequel sont copiées (par une macro " Export_Étiquettes ") les données d'un TCD qui se trouve dans mon fichier principal.
Quand j'ouvre le fichier Word en double cliquant dessus depuis l'explorateur Windows, le ficher s'ouvre et un message apparaît disant " L'ouverture de ce document exécute la commande SQL suivante SELECT*FROM 'Feuil1$' ", ce qui à mon sens est normal puisque il va chercher les données des champs du fichier Base Étiquettes.
En répondant oui au message, le fichier s'ouvre avec les champs mis à jours.
Jusque là pas de problème.
En revanche, c'est la macro ci dessous qui me pose problème.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Sub Ouverture_Etiquettes_Word()
'Ouvre le fichier Word Etiquettes.docx
'dont le chemin est renseigné cellule T6 dans feuille Accueil et dont le nom est cellule AA9 même feuille
Dim Chemin_Fichier_Etiquettes_Word
Dim Nom_Fichier_Etiquettes_Word
Dim Adresse_Fichier_Etiquettes_Word
Dim WordApp As Object
Dim WordDoc As Object
Chemin_Fichier_Etiquettes_Word = ThisWorkbook.Worksheets("accueil").Range("T6").Value
Nom_Fichier_Etiquettes_Word = ThisWorkbook.Worksheets("accueil").Range("AA9").Value
Adresse_Fichier_Etiquettes_Word = Chemin_Fichier_Etiquettes_Word & "\" & Nom_Fichier_Etiquettes_Word
Debug.Print Adresse_Fichier_Etiquettes_Word
Set WordApp = CreateObject("Word.Application")
With WordApp
Set WordDoc = .Documents.Open(Adresse_Fichier_Etiquettes_Word)
.Visible = True
.Activate
End With
Set WordApp = Nothing
End Sub |
1) L'ouverture du fichier est très longue alors que pour mes tests je n'ai que 7 étiquettes. Chaque étiquette est composée de 8 champs. Une page peut contenir 18 étiquettes.
2) Lorsque le fichier veut bien s'ouvrir, il n'est pas mis à jour (ce qui est normal car dans ma macro il n'y a pas d'instruction pour exécuter la commande SQL) et la fonction Publipostage n'est pas active.
Une solution pour exécuter la commande SQL serait la bien venue (je n'ai pas trouvé ou su trouver la réponse à mon problème).
Dans l'outil que je développe, je pourrais me passer de cette macro, l'utilisateur pourrais aller ouvrir le fichier Word via l'explorateur. Mais je voudrais me coucher moins bête.
Merci à vous
Philippe