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 : 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
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