Boucle FOR

Signaler
Messages postés
8
Date d'inscription
lundi 16 mars 2009
Statut
Membre
Dernière intervention
30 mars 2009
-
Messages postés
8
Date d'inscription
lundi 16 mars 2009
Statut
Membre
Dernière intervention
30 mars 2009
-
Bonjour,
J'aimerai creer de manière dynamique des fichiers word via une application VBA.
Je remplis des signets d'un template avec des infos renseignées dans des cellules.
L'info "NOM" est différente selon les lignes.
Ici, j'aimerais créer 3 fichiers word (de ligne 2 à 4)
Le code me parait cohérent car unitairement, quand j'affecte la valeur 2 à la variable "ligne", il marche.
C'est la boucle For qui bloque

strChemin = Chemin ou stocker le document
For ligne = 2 To 4
    With ObjWord.ActiveDocument.Range.Find
         .Forward = True
        .ClearFormatting
        .MatchWholeWord = True
        .MatchCase = False
        .Wrap = wdFindContinue
         'Nom de l'élève
        .Execute "NOM", ReplaceWith:=Worksheets("List").Cells(ligne, 1).Text
    End With
strNom = Trim(Worksheets("List").Cells(ligne, 2).Text & "_" & Worksheets("List").Cells(ligne, 1).Text)
ObjWord.ActiveDocument.SaveAs strChemin & "" & strNom
ObjWord.Quit
Next ligne

Merci de votre aide

2 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
il doit pas aimer que tu fasses

ObjWord.Quit

à l'iteration suivante...
Messages postés
8
Date d'inscription
lundi 16 mars 2009
Statut
Membre
Dernière intervention
30 mars 2009

yes, c'est vrai. Ca marche mais en fait, j'ai un autre problème. J'ai toujours la même info dans mon dossier word. J'ai l'impression qu'il garde toujours l'info du premier fichier et n'incrémente que le nom du document.


Une idée ?


Merci !