Excel - imprimer en boucle tant que cellule non vide dans une autre pas

Signaler
Messages postés
3
Date d'inscription
samedi 17 avril 2021
Statut
Membre
Dernière intervention
18 avril 2021
-
Messages postés
3
Date d'inscription
samedi 17 avril 2021
Statut
Membre
Dernière intervention
18 avril 2021
-
Bonjour,

étant novice dans Excel, j'ai copier un belle formule d'impression et après un soirée à fouiller sur les forum, je requière votre aide.
Ce que j'essaie de faire:
- Aller dans la feuille " liste trav auto"
- prendre les infos des cellule de A1 à G1
- recopier les infos dans la feuille " Trav auto facture"
- Imprimer
- et recommencer la boucle avec les cellules de A2 à G2

Jusque la tout va bien

Mais, il faudrait que j'ajoute une condition:
- si dans la colonne G, une cellule est vide alors arrêter l'impression

Merci


' impression Macro
'
Dim i%, wsF As Worksheet
Set wsF = Worksheets("Trav auto facture")
With Worksheets("liste trav auto")


For i = 2 To 43

wsF.Range("B3") = .Cells(i, 1)
wsF.Range("B5") = .Cells(i, 2)
wsF.Range("B6") = .Cells(i, 3)
wsF.Range("B8") = .Cells(i, 4)
wsF.Range("B10") = .Cells(i, 5)
wsF.Range("B12") = .Cells(i, 6)
wsF.Range("B15") = .Cells(i, 7)
wsF.PrintOut

Next i

End With

End Sub



Configuration: Windows / Chrome 89.0.4389.128

3 réponses

Messages postés
15739
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2021
1 483
Bonjour,

colonne G, une cellule est vide alors arrêter l'impression
Peu importe laquelle ou c'est la fin de liste?
Messages postés
3
Date d'inscription
samedi 17 avril 2021
Statut
Membre
Dernière intervention
18 avril 2021

Bonjour,

C'est la fin de la liste.

Merci de ton aide
Messages postés
15739
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2021
1 483
Bonjour,

Une facon de faire:
Sub test()
    Dim i As Long, wsF As Worksheet
    
    Set wsF = Worksheets("Trav auto facture")
    With Worksheets("liste trav auto")
        i = 2
        Do While .Cells(i, 7) <> ""
            wsF.Range("B3") = .Cells(i, 1)
            wsF.Range("B5") = .Cells(i, 2)
            wsF.Range("B6") = .Cells(i, 3)
            wsF.Range("B8") = .Cells(i, 4)
            wsF.Range("B10") = .Cells(i, 5)
            wsF.Range("B12") = .Cells(i, 6)
            wsF.Range("B15") = .Cells(i, 7)
            wsF.PrintOut
            i = i + 1
        Loop
    End With
End Sub
Messages postés
3
Date d'inscription
samedi 17 avril 2021
Statut
Membre
Dernière intervention
18 avril 2021

Super merci beaucoup de ton aide