Boucle For "Visual basic" avec le step

Résolu/Fermé
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 - 16 mai 2008 à 13:39
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 20 mai 2008 à 17:05
Bonjour,

J'aimerai a partir d'une colonne de chiffre la collée dans une autre colonne mais

avec la boucle for et donc utiliser la fonction step,

Quelqu'un pourrai m'aider??

bonne journée
A voir également:

15 réponses

numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
17 mai 2008 à 19:48
j'ai ceci mais ca ne fonctionne pas,

Public Sub cmd2_Click()
Dim x As Integer 'valeur de la cellule

For x = 250 To 1 Step -1 'boucle for pour le décroissement

Cells(13, (x + 1)) = Cells(x, 1) 'copie la colonne A dans B14
x = x - 1

Next x

End Sub


j'aimerai mettre une liste en decroissant

je vois pas ce que je dois dire de plus !

Quelqu'un saurais m'aider??

bonne soirée
8
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
17 mai 2008 à 16:28
Personne ne sait m'aider??
2
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 mai 2008 à 17:41
Bonjour,
Pour que l'ont puissent t'aidés il faut beaucoup plus d'explications sur ce que tu veux faire.
A titre d'info...
Dim i as long
    For i = 1 to 1000 step 4
        'Exécution des commandes
        '......
    next i

A+
0
Bonjour,

On ne comprend pas ce que tu demandes.
Est ce que tu veux copier une colonne dans une autre en inversant les lignes?
Est ce que tu veux remplir une colonne avec une serie de nombres décroissants?
Est ce que tu veux une explication du fonctionnement de la boucle For avec un Step négatif?

Essaie d'etre plus précis.
2
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
20 mai 2008 à 16:14
Est ce que tu veux une explication du fonctionnement de la boucle For avec un Step négatif? oui je lai dis dans mon premier message et pour le reste je sais pas donner plus d'info

j'ai une cononne remplie de 1 à 250 en A
et je voudrais faire un copiage horizontal a partir de B13 en commencant par la plus grande valeur de la liste en A. et donc sous la boucle for!

je demandais aussi le comment fonctionne la boucle For avec un Step négatif

Tout ca a ete dis au depart !
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008
20 mai 2008 à 16:16
va sur le lien que je t'ai donné et télécharge le fichier que je t'ai donné
0
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
20 mai 2008 à 16:27
je lai fé, ca fonctionne mais j'aimerai le mettre horizontal et ca fonctionne pas !
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
20 mai 2008 à 16:31
Ouuuuf, vé qd même spliqué comment fonctionne
For i = 1 to 250
La boucle compte de 1,2,3,4,etc..

fori i = 250 to 1
la boucle commence à 250
250..et... Terminer, si tu ne dit pas à VB qu'il doit compter à l'enver.
donc..
For i =250 to 1 step -1
la boucle compte 250,249,248,247 etc..
tu peu aussi faire
For i=1 to 250 step 2
la boucle compte 1,3,5,7 etc..
et l'inverse
For i =250 to 1 step -2
la boucle comte
250,248,246,244, etc..
C'est compris ?
A+
0
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1 > lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020
20 mai 2008 à 16:36
merci
mais ca je savais dejà c'est ce que l'aide me donne, le problème c'est que qd je veux le mettre horizontalement il me met une erreur
fin bon tampis
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 mai 2008 à 20:08
Public Sub cmd2_Click() 
Dim x As Integer 'valeur pour la boucle

    For x = 250 To 1 Step -1 'boucle for pour le décroissement 

          Cells(x,  2).value = Cells(x, 1).value 'copie la colonne A dans B14 ? PAS possible de mettre une colonne dans une cellule, je suppose que tu veux dire colonne B
'TU NE DOIT PAS MODIFIE LA VALEUR
'...........x = x - 1 ' à supprimé

    Next x 

End Sub


A+
1
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
17 mai 2008 à 20:12
Ca ne fonctionne pas,

Moi c'est en décroissant que je recherche et le fonctionnement de la boucle for?
0

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

Posez votre question
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 mai 2008 à 20:53
Si c'est pas ce que toi veux c'est toi explique pas bien.
La boucle commence à 250 et copie A250 dans B250, A249 dans B249, A248 dans B248 etc..
0
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
17 mai 2008 à 22:12
non j'ai dis qui recopie A250 dans B1, A249 dans B2,

Tout ca se fait avec la boucle for et le step -1

et m'expliquer la boucle for avec le step -1, comment elle fonctionne?
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
18 mai 2008 à 01:09
non j'ai dis qui recopie A250 dans B1, A249 dans B2,
Où c'est que t'a dit ca ?????? Faudrait savoir in !!!!
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 mai 2008 à 22:34
Salut,
Public Sub cmd2_Click() 
Dim x As Integer
Dim y As Integer
y=1

    For x = 250 To 1 Step -1 
          cells(y,2)=cells(x,1)
          y = y+1
    Next x 

End Sub
0
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
18 mai 2008 à 10:33
c'est un exemble je lai noter avec mon programme de départ, je l'ai marquer etant croissant, et bien specifier, que c'etait le contraire,

Fin merci je vais essayer
0
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
18 mai 2008 à 10:38
2 4 6 8 10 12

Voila ce que j'obtient et voila ce que je recherche

par exemple: 9 8 7 6 5 4 3 2 1

Et en byte suffit pour la variable
0
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
18 mai 2008 à 14:40
Personne ne sait m'aider??
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190 > numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008
18 mai 2008 à 14:44
Comprend de moins en moins tes explications, avec la macro de Lami20j tu ne peu pas avoir le résultat que tu montre.
A+
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020
18 mai 2008 à 15:16
Salut,

en revanche il a le résultat demandé

recopie A250 dans B1, A249 dans B2,

A        B
1	250
2	249
3	248
4	247
5	246
6	245
7	244
8	243
9	242
10	241
11	240
12	239
13	238

...................

238	13
239	12
240	11
241	10
242	9
243	8
244	7
245	6
246	5
247	4
248	3
249	2
250	1


0
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
18 mai 2008 à 15:10
Pourtant ils le montre bien dans l'aide microsoft, je dois en conclur qu'ils inscrivent des betîses alors !!

C'est je le fonctionnement que je demande,

ou tu lis pas ou tu te fous de moi !

la boucle "for" avec la fonction "step-1" sert a une décroissance, mais chez moi elle ne veut pas fonctionner !!!

J'aurais besoin d'un exemple??

(répition de la question)

bonne apres midi
0
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
18 mai 2008 à 15:49
en y incerant ton pregramme voici ce que j'obtien:
depart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
apres
1 2 3 4 5 6 7 8 9 10 11

Ou alors tu na po tout copier ici de ton programme mais il fonctionne pas

Fin la je comprend pas comment tu obtien ca alors?
0
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
20 mai 2008 à 15:38
Personne ne sait m'aider?
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
20 mai 2008 à 15:52
Alors tu ne sais pas faire le test ou je n'ai pas compris ton problème
Vas-y teste ce fichier https://www.cjoint.com/?fupZDzsz8U
0
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
20 mai 2008 à 16:39
Merci à lami20j
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
20 mai 2008 à 16:45
Si tu a enfin ce que tu veux oublie pas de valider Résolu en haut du topic
0
re, essaie

Public Sub cmd2_Click()

Dim x As Integer 'valeur de la cellule

For x = 250 To 1 Step -1 'boucle for pour le décroissement

Cells(13, (250-x+2)) = Cells(x, 1) 'copie A250 dans B13 , A249 dans C13, A248 dans D13...

Next x

End Sub
0
numbat Messages postés 36 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 16 septembre 2008 1
20 mai 2008 à 16:59
lami20j a répondu a toutes mes questions,

Un grand merci a vous

Bonne fin de journée
0