Boucle For "Visual basic" avec le step

[Résolu/Fermé]
Signaler
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
-
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
-
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

15 réponses

Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
Personne ne sait m'aider??
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 172
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+
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.
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1 >
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019

je lai fé, ca fonctionne mais j'aimerai le mettre horizontal et ca fonctionne pas !
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 172 >
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019

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+
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1 >
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020

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
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 551 >
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008

alors essaie celui-ci https://www.cjoint.com/?fuqQb3NNoh
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 172 >
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008

Tu savais déjà !!!!,
Ca m'éneeeeerve...
je demandais aussi le comment fonctionne la boucle For avec un Step négatif
Ca veux dire quoi ca dans ton poste 20 ?????????????????
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 172
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+
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
Ca ne fonctionne pas,

Moi c'est en décroissant que je recherche et le fonctionnement de la boucle for?
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 172
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..
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
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?
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 172
non j'ai dis qui recopie A250 dans B1, A249 dans B2,
Où c'est que t'a dit ca ?????? Faudrait savoir in !!!!
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 551
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
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
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
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
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
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
Personne ne sait m'aider??
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 172 >
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008

Comprend de moins en moins tes explications, avec la macro de Lami20j tu ne peu pas avoir le résultat que tu montre.
A+
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 551 >
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020

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


Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
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
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
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?
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
Personne ne sait m'aider?
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 551
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
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
Merci à lami20j
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 172
Si tu a enfin ce que tu veux oublie pas de valider Résolu en haut du topic
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
Messages postés
36
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
lami20j a répondu a toutes mes questions,

Un grand merci a vous

Bonne fin de journée