Expression de la fin d'un tableau sous excel

julie -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

J'ai un petit problème sous excel.
Je souhaite faire une boucle qui va du début à la fin de mon tableau de données.
on écrit alors for i=1 to ???

Ca n'a pas l'air très compliqué mais je ne vois pas comment faire...
Merci d'avance.
A voir également:

4 réponses

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
Emploi plutôt For Each
dim Cel as range
Range("A1:G25").select
for Each Cel in selection 'va passer toutes les cellule en revue
   Tester.....Cel
Next

A+
0
julie
 
Oui mais dans ton exemple il va parcourir les cellules jusqu'à la ligne 25. Je souhaite effectué une boucle qui s'arrete à la fin de mon tableau sachant que la fin peut varier...
Ici, si j'ai 26 données ça ne marchera plus.
0
lermite222 Messages postés 9042 Statut Contributeur 1 191 > julie
 
Behhh, la plage est mise pour un exemple, a toi de sélectionner la plage qui t'interesse.
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Si c'est toute la feuille que tu veux passer en revue...
Sub Explore()
'Passe en revue toutes les cellule renseignées d'une feuille.
Dim Cel As Range
Dim Lig As Long
Dim Col As Integer
Dim Txt As String
    Sheets("Feuil1").Select
    Lig = Range("A1").SpecialCells(xlCellTypeLastCell).Row
    Col = Range("A1").SpecialCells(xlCellTypeLastCell).Column
    Range(Cells(1, 1), Cells(Lig, Col)).Select
    For Each Cel In Selection
        Txt = Cel.Text
    Next
End Sub

A+
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

si tu veux toutes les cellules :
dim c as range
for each c in range([A1],[A1].SpecialCells(xlCellTypeLastCell)
' faire ceci
next c

Toutes les cellules de la colonne B :
for each c in range([B1],[B65536].end(xlup))
'faire cela
next c

eric
0
julie
 
En fait je vais peut etre mieux vous expliquer:

j'ai un tableau de données qui ressemble à ca:


1)dupond 171989
2)durand 118975
3)dubuisson 171989

j'effectue une recherche (avec edition+rechercher) avec 171989 comme paramètre. Seulement, lorsque j'effectue la recherche, elle ne s'arrête pas. C'est à dire qu'elle selectionne la ligne 1 puis la ligne 3 puis la ligne 1 puis la ligne 3....
Je voudrais qu'a la fin du tableau, elle s'arrête. Seulement si je fais avec for each, pour la ligne 1 elle va effectuer la recherche et ca ne s'arrête plus... C'est un peu spécial...
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
C'est a toi de traiter l'information au milieu de la boucle, et elle ne passe en revue qu'une seule fois toutes les cellules, si passe plusieur fois c'est que tu à une erreur dans ta macro.
A+
0