[VBA] Boucle for

Résolu
Napalawow Messages postés 38 Statut Membre -  
Napalawow Messages postés 38 Statut Membre -
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. byakhlefncr Messages postés 260 Statut Membre 63
     
    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
    0
  2. Napalawow Messages postés 38 Statut Membre 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
    0
  3. byakhlefncr Messages postés 260 Statut Membre 63
     
    Bonjour,

    Pour la colonne D changer l'indice 1 en 4 ==> Cells(i,4).
    0
  4. Napalawow Messages postés 38 Statut Membre 1
     
    Ca d'accord
    Ca donne donc, pour boucle for colonne D :

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

    ^^

    merci!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. byakhlefncr Messages postés 260 Statut Membre 63
     
    non ce n'est pas ça.

    For i=20 to 10 Step-1
    T = Cells(i,4)
    0
  7. Napalawow Messages postés 38 Statut Membre 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++
    0
  8. byakhlefncr Messages postés 260 Statut Membre 63
     
    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
    0
  9. Napalawow Messages postés 38 Statut Membre 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!
    +
    0