[VBA] boucle jusqu'à ce qu'il n'y ait plus de lignes à traiter

Fermé
CacstuDrummer - 14 févr. 2014 à 10:30
DGVDR Messages postés 158 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 20 juillet 2015 - 14 févr. 2014 à 14:53
Bonjour à tous/toutes,

Il fut un temps ou j'ai fait du VBA... mais j'ai TOUT oublié tsss...

J'ai un nouveau fichier excel de quelques lignes tous les jours (jamais le même nombre de lignes), et je veux imprimer chaque ligne sur une feuille.

Dim cellule As Range
Dim nb As Integer
Dim row As Integer

Set cellule = Range("A2")
Set nb = cellule.Value
Set row = cellule.row

While (nb <> "")

Range("A2:HU2").Select
Selection.Copy
Sheets("MACRO").Select
Range("B2;HU2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False


Wend

Je m'auto déprime tellement je sais que je m'y prends comme un manche.

Alors :
- on ne touche pas à ce qui est en gras
- l'idée était de faire une boucle : on regarde si A2 est vide, s'il l'est pas on met en variable le range "A2:HU2" , puis on effectue le bazar. On regarde si A3 est vide, s'il l'est pas on met en variable le range "A3:HU3" , etc etc...

Je voulais aller chercher le numéro de ligne avec un .row , mais je me paume tout seul...
Pouvez vous m'aider ? je suis total en galère pour ce truc tellement simple...

3 réponses

DGVDR Messages postés 158 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 20 juillet 2015
14 févr. 2014 à 10:35
Bonjour,

Ce que je te propose :

Obtenir ta dernier ligne :

Derlig = .Range("A65536").End(xlUp).Row ' Colonne intéressante à définir

En faire une boucle

For i = 2 To Derlig

Et faire une condition :

If A2<> "" Then 
' ...on regarde si A2 est vide,...


A ta dispo,

DGVDR
0