XL 2010 "For Each cel In .Range" nbre occurences maxi

vinceda

XLDnaute Junior
Bonjour à tous,

me revoilà avec mes petits souci s de VBA.
dans un module j'ai un code qui va vérifier la valeur d'une cellule pour impression d'une feuille (en gros , si cette cellule est >0 alors on imprime sinon, on imprime pas).

Je suis cependant bloqué car je ne peux pas aller au delà de 48 occurences .
Ma question est de savoir si je peux contourner ce souci (la cellule à vérifier est toute les 32 lignes de la colonne A) .
Je vous mets mon code ci-dessous pour voir si quelqu'un à une idée.

VB:
With Sheets("Impressmass")
  Pge = 1
  For Each cel In .Range("A1,A33,A65,A97,A129,A161,A193,A225,A257,A289,A321,A353,A385,A417,A449,A481,A513,A545,A577,A609,A641,A673,A705,A737,A769,A801,A833,A865,A897,A929,A961,A993,A1025,A1057,A1089,A1121,A1153,A1185,A1217,A1249,A1281,A1313,A1345,A1377,A1409,A1441,A1473,A1505")
    If cel.Value > 0 Then Sheets("Impressmass").PrintOut From:=Pge, To:=Pge, Copies:=1, Collate:=True
    Pge = Pge + 1

Je vous remercie d'avance !!!
 

Lolote83

XLDnaute Barbatruc
Salut,
Peut être avec une boucle qui rebondie toute les 32 cellules
VB:
With Sheets("Impressmass")
  Pge = 1
  For F = 1 To 2000 Step 32
    If Cells(F, "A") > 0 Then Sheets("Impressmass").PrintOut From:=Pge, To:=Pge, Copies:=1, Collate:=True
    Pge = Pge + 1
@+ Lolote83
 

M12

XLDnaute Accro
Bonjour
Teste comme ceci, l'intervalle étant de 32
VB:
Dim Dl%, i%
With Sheets("Impressmass")
Dl = .Range("A" & Rows.Count).End(xlUp).Row
  Pge = 1
  For i = 1 To Dl Step 32
    If .Cells(i, "A").Value > 0 Then Sheets("Impressmass").PrintOut From:=Pge, to:=Pge, Copies:=1, Collate:=True
    Pge = Pge + 1
 

Discussions similaires

Statistiques des forums

Discussions
312 194
Messages
2 086 071
Membres
103 110
dernier inscrit
Privé