Boucle FOR

lolo1612 Messages postés 8 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 30 mars 2009 - 30 mars 2009 à 13:29
lolo1612 Messages postés 8 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 30 mars 2009 - 30 mars 2009 à 14:07
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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
30 mars 2009 à 13:40
il doit pas aimer que tu fasses

ObjWord.Quit

à l'iteration suivante...
0
lolo1612 Messages postés 8 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 30 mars 2009
30 mars 2009 à 14:07
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 !
0
Rejoignez-nous