Bonjour,
je m'agace à tourner autour du pot avec un bout de code sensé remplacer toute une série de valeurs.
Le document template existe déjà, avec des zones de texte sur une seule feuille. Mon objectif est de boucler sur des valeurs et d'automatiser le remplacement des dites valeurs dans le doc.
Mon code actuel est le suivant
Il boucle bien, mais aucune modification n'a lieu.
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
25
26
27
28
29
30
31
32
33
34
35
36 Dim wdapp As New Word.Application Dim wddoc As Word.Document Set wddoc = wdapp.Documents.Open("C:\template\Traite.doc") tmppathdoc = "'C:\temp\resultat.docx" wddoc.SaveAs2 tmppathdoc Dim ColLst As New Collection ColLst.Add "[RAISON_SOCIALE_VENDEUR]|" & tmpvendeur.RaisonSociale ColLst.Add "[Nom_Contact_VENDEUR]|" & tmpcontactvendeur.Nom ColLst.Add "[RUE_VENDEUR]|" & tmpvendeur.AdresseFacturation.Rue ColLst.Add "[CP_VENDEUR]|" & tmpvendeur.AdresseFacturation.CP ColLst.Add "[VILLE_VENDEUR]|" & tmpvendeur.AdresseFacturation.Ville ColLst.Add "[PAYS_VENDEUR]|" & tmpvendeur.AdresseFacturation.Pays For i = 1 To ColLst.Count wddoc.Activate With wdapp.Selection .WholeStory 'A ADAPTER .Find.ClearFormatting .Find.Replacement.ClearFormatting With .Find .Text = Split(ColLst.Item(i), "|")(0) .Replacement.Text = Split(ColLst.Item(i), "|")(1) .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With .Find.Execute Replace:=wdReplaceAll End With Next i wddoc.Save
Je cherche donc à savoir comment avoir la bonne wdapp.selection au moment de la recherche.
Auriez-vous une solution pour m'aider svp ?
Merci d'avance !
Partager