[VBA] Boucle for

Résolu
SALUT LES COPAINNNS hmm.. (soyons sérieux un moment !!) ^^

Voila j'ai une macro qui utilise une boucle FOR; MON probléme est je voudrai appliquer la boucle FOR non pas sur toutes les cellules d'une colonne mais sur=> UNE colonne avec un intervalle de ligne.

C'est A DIRE que je voudrai que ma boucle FOR s'applique (par exemple) sur la colonne A de la ligne 10 à 20
Alors voila j'ai eut une toute ptite idée que j'ai essayé et comme par hasard SA NE VE PAS COMPILER !! :'(

Voici ma ligne de code pour l'exemple cité ci-dessus

For i = Cells(20, 1) To Cells(10, 1) Step -1


Merci d'avance pour les futurs aides !
Configuration: Windows XP
Firefox 2.0.0.14

8 réponses

  1. Salut,

    il vaut mieux écrire :

    For i=20 to 10 Step-1
    [ici le code pour le taitement des cellules concernées. ex : Cells(i, 1)]

    Bonne chance
    1. OK d'accord mais si je veux que la Boucle FOR s'applique sur la colonne D et non plus dans la colonne A
      Comment je fais alors ???

      Merci
      1. Bonjour,

        Pour la colonne D changer l'indice 1 en 4 ==> Cells(i,4).
        1. Ca d'accord
          Ca donne donc, pour boucle for colonne D :

          FOR Cells(i,4)=20 to 10 Step-1
          ??

          ^^

          merci!
          1. Yep byakhlefncr ! ; )

            euuuuuuuuuuuuuuuuuuuuh (excuse moi d'être aussi nul) mais ton code

            For i=20 to 10 Step-1
            T = Cells(i,4)
            

            ne ve pas se compiler

            Je ne comprend pas déjà le => "T" qu'est ce que C'est , une variable donc il faut la déclarer par exemple en integer.

            Voici comment j'ai compiler ton bout de code avec mon code

            sub tuvamarchelamacro()
            Dim i as interger
            Dim T as interger
            
            For i=20 to 10 Step-1
            T = Cells(i,4)
            
            |
            |
            |ICI CODE POUR QUI SUPPRIMER LIGNES SOUS CONDITIONS !
            |
            |
            Next i
            end sub
            


            Merci de ta patience envers mon problème de débutant (c'est le cas de le dire !!)
            N'hésite pas à me demander d'être plus clair !^^
            Aller++
            1. Voici un exemple qui supprime les lignes entre 10 et 20 qui ont les valeurs de la colonne D < 50 :

              Sub Supprimer()
              Dim i As Integer
              For i = 20 To 10 Step -1
              If Cells(i, 4) < 50 Then
              Feuil1.Rows(i).Delete
              End If
              Next i

              End Sub
              1. Yop !

                MERCi a toi byakhlafncr,

                Avec ton mini exemple j'ai bien comprit. J'ai pu le "transplanter" sur mon prog.
                Voila Merci encore et passe un bon et heureux lundi.

                Sincèrement!
                +