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.
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.
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 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
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
Partager