[VBA] Boucle for

Résolu/Fermé
Napalawow Messages postés 38 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 28 mai 2008 - 11 mai 2008 à 00:22
Napalawow Messages postés 38 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 28 mai 2008 - 11 mai 2008 à 17:15
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 !
A voir également:

8 réponses

byakhlefncr Messages postés 260 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 11 septembre 2008 63
11 mai 2008 à 02:49
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
Napalawow Messages postés 38 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 28 mai 2008 1
11 mai 2008 à 12:13
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
byakhlefncr Messages postés 260 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 11 septembre 2008 63
11 mai 2008 à 12:58
Bonjour,


Pour la colonne D changer l'indice 1 en 4 ==> Cells(i,4).
0
Napalawow Messages postés 38 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 28 mai 2008 1
11 mai 2008 à 13:05
Ca d'accord
Ca donne donc, pour boucle for colonne D :

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



^^

merci!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
byakhlefncr Messages postés 260 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 11 septembre 2008 63
11 mai 2008 à 14:17
non ce n'est pas ça.


For i=20 to 10 Step-1
T = Cells(i,4)
0
Napalawow Messages postés 38 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 28 mai 2008 1
11 mai 2008 à 14:31
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
byakhlefncr Messages postés 260 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 11 septembre 2008 63
11 mai 2008 à 15:02
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
Napalawow Messages postés 38 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 28 mai 2008 1
11 mai 2008 à 17:15
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