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.
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. 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
      1. lermite222 Messages postés 9042 Statut Contributeur 1 199 > julie
         
        Behhh, la plage est mise pour un exemple, a toi de sélectionner la plage qui t'interesse.
        0
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    1. 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
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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