Bonjour à tous,
Je suis en cour de création d'un outils qui me permet de remplir de façon automatique un certain nombre de document sur la base d'une feuille exel de renseignements.
Grâce à cette feuille les autres feuilles du classeurs se pré-remplissent automatiquement, jusque la tout va bien.
La ou ça ce complique, c'est que j'ai fait une macro pour ouvrir un fichier word, et via un publipostage il se pré-remplie automatiquement et s'imprime, cela marche très bien également.
Mon problème est que ma macro intègre des liens fixes pour aller chercher ces fichiers et que le but du fichier exel et de ses fichiers word liés est qu'il soit copier et coller pour étre dupliqué.
Y-a-il une solution dans l’écriture du code ou autre pour permet une mise à jour automatique des lien du code?
Ci dessous le code utilisé:
Sub ARCAFFAIRE_Bouton1_Cliquer()
'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
Dim docWord As Word.Document
Dim appWord As Word.Application
Dim NomBase As String
NomBase = "C:\Users\XXX\Desktop\affaire\Gestion de chantier V2.xlsm"
Application.ScreenUpdating = False
Set appWord = New Word.Application
appWord.Visible = True
'Ouverture du document principal Word
Set docWord = appWord.Documents.Open("C:\Users\XXX\Desktop\affaire\documents associé\Modèle lettre AR commande client XXX v2.doc")
'fonctionnalité de publipostage pour le document spécifié
With docWord.MailMerge
'Ouvre la base de données
.OpenDataSource Name:=NomBase, _
Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _
"DBQ=" & NomBase & "; ReadOnly=True;", _
SQLStatement:="SELECT * FROM [Feuil1$]"
'Spécifie la fusion vers l'imprimante
.Destination = wdSendToPrinter
.SuppressBlankLines = True
'Prend en compte l'ensemble des enregistrements
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
'Exécute l'opération de publipostage
.Execute Pause:=False
End With
Application.ScreenUpdating = True
'Fermeture du document Word
docWord.Close False
appWord.Quit
End Sub
Je vous remercie par avance.
Partager