Boucle For "Visual basic" avec le step

Résolu
numbat Messages postés 35 Date d'inscription   Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
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
Configuration: Windows XP
Internet Explorer 6.0

15 réponses

  1. numbat Messages postés 35 Date d'inscription   Statut Membre 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
  2. numbat Messages postés 35 Date d'inscription   Statut Membre 1
     
    Personne ne sait m'aider??
    2
    1. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      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
  3. amigo
     
    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
    1. numbat Messages postés 35 Date d'inscription   Statut Membre 1
       
      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 !
      -1
    2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > numbat Messages postés 35 Date d'inscription   Statut Membre
       
      va sur le lien que je t'ai donné et télécharge le fichier que je t'ai donné
      -1
    3. numbat Messages postés 35 Date d'inscription   Statut Membre 1 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
       
      je lai fé, ca fonctionne mais j'aimerai le mettre horizontal et ca fonctionne pas !
      -1
    4. lermite222 Messages postés 9042 Statut Contributeur 1 199 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
       
      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
    5. numbat Messages postés 35 Date d'inscription   Statut Membre 1 > lermite222 Messages postés 9042 Statut Contributeur
       
      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
      -1
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. numbat Messages postés 35 Date d'inscription   Statut Membre 1
       
      Ca ne fonctionne pas,

      Moi c'est en décroissant que je recherche et le fonctionnement de la boucle for?
      -1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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..
    -1
  7. numbat Messages postés 35 Date d'inscription   Statut Membre 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?
    -1
    1. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      non j'ai dis qui recopie A250 dans B1, A249 dans B2,
      Où c'est que t'a dit ca ?????? Faudrait savoir in !!!!
      -1
  8. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
    1. numbat Messages postés 35 Date d'inscription   Statut Membre 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
      -1
  9. numbat Messages postés 35 Date d'inscription   Statut Membre 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
    -1
    1. numbat Messages postés 35 Date d'inscription   Statut Membre 1
       
      Personne ne sait m'aider??
      -1
      1. lermite222 Messages postés 9042 Statut Contributeur 1 199 > numbat Messages postés 35 Date d'inscription   Statut Membre
         
        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
      2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > lermite222 Messages postés 9042 Statut Contributeur
         
        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
        
        

        -1
  10. numbat Messages postés 35 Date d'inscription   Statut Membre 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
    -1
  11. numbat Messages postés 35 Date d'inscription   Statut Membre 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?
    -1
  12. numbat Messages postés 35 Date d'inscription   Statut Membre 1
     
    Personne ne sait m'aider?
    0
  13. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
  14. numbat Messages postés 35 Date d'inscription   Statut Membre 1
     
    Merci à lami20j
    0
    1. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      Si tu a enfin ce que tu veux oublie pas de valider Résolu en haut du topic
      0
  15. amigo
     
    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
  16. numbat Messages postés 35 Date d'inscription   Statut Membre 1
     
    lami20j a répondu a toutes mes questions,

    Un grand merci a vous

    Bonne fin de journée
    -1