![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir à ts & ttes !
J'ai un petit pb de parcours de tableau; dim c as object For Each c In .Range(.Cells(2, 1), .Cells(2, 1).End(xlDown)) ... J'aurai voulu qu'il s'arrête qd il n'y a plus d'élément ds le tab. Mais là ça parcours tout le tab jusqu'à la fin des limites xls !? Comment je peux faire pr m'arrêter à la fin du tableau convoité (ie: qd il n' y a plus d'élément) sans passer par un test ? Merci d'avance de votre aide ;-) |
| ANNONCES | |||
|
|
|
|
#3 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir Jo, le Forum En fait ton dimensionnement de Range est correct, mais si tu n'as aucune cellules remplies dans la Colonne "A"... Et bien VBA va descendre jusqu'en bas.... Soit à la 65536ieme cellule et une a une.... Essaie en agissant à l'inverse, c'est à dire en montant : Sub Test() Dim C As Range With Sheets("Sheet1") For Each C In .Range(.Cells(2, 1), .Cells(65536, 1).End(xlUp)) C.Interior.ColorIndex = 3 Next End With End Sub Mais tu auras encore un hic si tu n'as rien en colonne A... Mais moins grave... Juste une action en A1 et A2.... ou alors une simple ligne de test, pourrait être ta solution mais vu que tu n'en veux pas... Enfin je te la donne quand même : If .Cells(2, 1) = "" Then Exit Sub Bonne Soirée @+Thierry |
|
|
#4 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir Pierre, Re Jo,
Sorry je n'avais pas raffraichi. Pour ton If, Pierre tu noteras comment je m'y prends, tout sur une même ligne ce qui évite d'avoir besoin du "End If" et surtout pas du "Else"... Pour Jo, j'espère aussi qu'il notera le Sujet pour être plus XLD Compliant la prochaine fois Bonne Soirée @+Thierry |
| Liens sociaux |
| Outils de la discussion | |
|
|