Remplir des champs de fusion en fonction de la valeur d'une champs de fusi
M
Bonjour la famille,
J'ai un problème que je n'arrive pas à le résoudre, j'ai vraiment besoin de votre aide :(
J'ai un problème que je n'arrive pas à le résoudre, j'ai vraiment besoin de votre aide :(
J'ai une macro qui me remplie des champs de fusion présentent dans un doc Word, à ce stade tous marchent bien.
Mais j'ai ajouté dans mon doc Word un champ de fusion que je voulais le remplir en fonction de la valeur d'un autre champ de fusion remplie par Excel.
Qqn a une idée ? Soit pour ajouter la condition dans mon code VBA ou la faire directement sur le champ de fusion
Voici mon code VBA actuel:
Sub AmianteWord(WordApp As Object, ligne As Integer)
Dim WordDoc As Object, champ As Object
Dim Nom As String, nom_fichier As String
Dim cell As Range, référence As String
nom_fichier = CreateObject("Wscript.Shell").SpecialFolders("Desktop") & "\Courrier initial amiante (DTA).docx"
On Error Resume Next
Set WordDoc = WordApp.Documents.Open(nom_fichier)
If Err <> 0 Then MsgBox "Erreur ouverture document modèle -- " & Err.Description: Exit Sub
'// initialisation champs de fusion
WordDoc.Fields.Update
'// remplissage champs de fusion
For Each champ In WordDoc.Fields
'Si champ de fusion ...............................
If champ.Type = 59 Then
'suppression guillemets champ de fusion
Nom = Replace(champ.Result, Chr(171), ""): Nom = Replace(Nom, Chr(187), "")
'remplissage champ de fusion à partir de la valeur de la colonne à laquelle le nom fait référence
Set cell = [GRILLE].Rows(1).Find(Nom, LookAt:=xlWhole)
If Not cell Is Nothing Then champ.Result.Text = cell.Offset(ligne - 1)
If UCase(Nom) = "CLIENT" Then référence = cell.Offset(ligne - 1)
End If
Next champ
'// sauvegarde et fermeture document
If référence = Empty Then référence = ligne
nom_fichier = CreateObject("Wscript.Shell").SpecialFolders("Desktop") & "\Courrier amiante" & référence & ".doc"
WordDoc.SaveAs2 Filename:=nom_fichier
WordDoc.Close
Merci d'avance