Expression de la fin d'un tableau sous excel

Fermé
julie - 17 juil. 2008 à 11:36
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 17 juil. 2008 à 14:20
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 juil. 2008 à 11:42
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
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190 > julie
17 juil. 2008 à 11:58
Behhh, la plage est mise pour un exemple, a toi de sélectionner la plage qui t'interesse.
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 juil. 2008 à 12:09
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
17 juil. 2008 à 12:11
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
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 juil. 2008 à 14:20
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