L
luuwi
Guest
Bonjour à tous,
Je commence tout juste à me servir des macros sur Excel et tournant un peu en rond, je me suis décidé à m'inscrire sur ce forum.
J'ai créé une macro très simple permettant d'imprimer successivement des formulaires appelés d'un tableau de donnée (le tout sous excel). La macro est la suivante :
Sub Impression()
Sheets("Impression").Select
Nbre_locaux = Range("D3").Value
For i = 1 To Nbre_locaux
If Cells(6 + i, 5).Value = 1 Then
Cells(6 + i, 2).Copy
Sheets("fiche local").Select
Range("E1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Calculate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impression").Select
End If
Next i
End Sub
Tout fonctionne à merveille quand je n'ai pas à sortir des fichiers avec pdf creator. Car même si la macro permet d'imprimer les lignes une a une de façon successive, il faut savoir que le temps pour créer un pdf varie d'une fiche à l'autre (pas le même nombre de données), ce qui au final sort les fiches dans le désordre et complique énormément la tâche quand il faut tout renommer.
En gros ma question est : Comment forcer la boucle à attendre la fin de l'impression d'une fiche avant de passer à la suivante ?
Merci d'éclairer ma lanterne
Luuwi
Je commence tout juste à me servir des macros sur Excel et tournant un peu en rond, je me suis décidé à m'inscrire sur ce forum.
J'ai créé une macro très simple permettant d'imprimer successivement des formulaires appelés d'un tableau de donnée (le tout sous excel). La macro est la suivante :
Sub Impression()
Sheets("Impression").Select
Nbre_locaux = Range("D3").Value
For i = 1 To Nbre_locaux
If Cells(6 + i, 5).Value = 1 Then
Cells(6 + i, 2).Copy
Sheets("fiche local").Select
Range("E1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Calculate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impression").Select
End If
Next i
End Sub
Tout fonctionne à merveille quand je n'ai pas à sortir des fichiers avec pdf creator. Car même si la macro permet d'imprimer les lignes une a une de façon successive, il faut savoir que le temps pour créer un pdf varie d'une fiche à l'autre (pas le même nombre de données), ce qui au final sort les fiches dans le désordre et complique énormément la tâche quand il faut tout renommer.
En gros ma question est : Comment forcer la boucle à attendre la fin de l'impression d'une fiche avant de passer à la suivante ?
Merci d'éclairer ma lanterne
Luuwi