Repetition de boucle

Bonjour svp si je veux que cette boucle ce repete jusqua que la boucle principale se termine je dois rajouter quoi ?? aidez moi svp

merci

If Range("T7") <> "" And Range("W5").Value = "" Then
Range("W5").Value = Range("T7").Value
Application.Wait Time + TimeSerial(0, 0, 1)
Range("W6").Value = Range("W5").Value
Range("W5").Value = ""
Application.Wait Time + TimeSerial(0, 0, 1)
Range("W7").Value = Range("W6").Value
Application.Wait Time + TimeSerial(0, 0, 1)
Range("W8").Value = Range("W7").Value
Application.Wait Time + TimeSerial(0, 0, 1)

Else
Application.Wait Time + TimeSerial(0, 0, 1)
End If

4 réponses

  1. Bonjour,

    si je veux que cette boucle ce repete
    Y a pas de boucle, juste un test !!!!!

    jusqua que la boucle principale
    Pareil, y en a pas !!!!!!
    1. Bonjour et merci pour la réponse

      on faite moi j'ai déjà écrit la première parti de mon programme

      et je veux faire la suite et je sais pas comment il faut faire

      voila ce que j'ai fait maintenant : j'ai programé le remplissage de la colonne B7:T7 et je l' est relié a ma colonne X et I en executant le programme tu va voir ce qu'il fait . ( je te conseil stp de voir d'abord le fonctionnement de se que j'ai fait )

      maintenant j'ai rajouter des cellules dans la colonne W qui va jouer le rôle de mon stock et cette étape c'est une étape intermédiaire dans mon programme et je sais pas comment l'intégré car il est lié a la cellule T7 et a la colonne(24) :

      W5 :4er emplacement de stockage
      W6 :3éme emplacement de stockage
      W7: 2éme emplacement de stockage
      W8: 1éme emplacement de stockage

      ce que je veux faire c'est que lorsque ma cellule T7 est remplie. que ma cellule W8 ce remplie automatiquement et recoi la valeur de T7 et que 1 seconde apres w7 recois T7 et 1 seconde aprés W6 recoi T7 et 1seconde aprés W5 recois T7

      de plus il faut considérer que W8 se vide chaque 5 seconde pour envoyer ca valeur a la colonne X ( maintenant c'est la celulle T7 qui renvoi ça valeur a la colonne X)


      voila le liens de mon fichier merci

      https://www.cjoint.com/c/FFboJaoLydh
      1. Re,

        ( je te conseil stp de voir d'abord le fonctionnement de se que j'ai fait )
        Ca se lance comment votre truc ???
        1. il faut cliquer sur le bouton simulation qui se trouve dans la feuille Interface
        2. vous avez compris se que je veux faire ?
        3. @BarahaouaRe,
          Non, dans quelle boucle voulez-vous integrer ce code
        4. Dans la boucle Plaque5_Cliquer voila le code

           Sub Plaque5_Cliquer()
          Dim UniteLavage As Long
          Dim d As Object
          Dim i As Integer, j As Integer, c As Variant
          Dim Nbre_Total_Boucl As Integer
          Dim Rng1, Rng2 As Range
          Dim Nb_Boucle As Integer
          Dim Arret As Boolean
          'Dim compt As Integer
          'compt = 1
          recomencer:

          Do Until Range("B3").Value = Range("B4").Value
          Satisfait = False
          With Sheets("Interface")

          'On vérifie s'il existe une valeur en B1
          If .[b1] = "" Then MsgBox "Insérer une valeur en B1", 16: Exit Sub
          'On enregistre la variable UniteLavage
          UniteLavage = .[b1]
          'On applique la valeur à la ligne 7

          'code pour le lancement des passe dans le tunel
          Arret = False: Nb_Boucle = 0
          'Do Until compt = 2
          If Range("B1").Value <> "" Then 'vérifie que B1 n'est pas vide
          Nbre_Total_Boucl = Columns(3).Find("*", , , , , xlPrevious).Row - 12
          Do While Arret = False
          DoEvents
          'Range("B7:T7").Value = "" 'réinitialise ton "tableau"
          i = 2 'valEUr de Ma première colonne du tableau
          Application.Wait Time + TimeSerial(0, 0, 1) 'attends 10 sec

          Do Until Range("T7") <> "" Or Arret = True 'conditionne la boucle jusqu'à la dernière colonne de ton tableau

          If i > 2 Then Cells(7, i - 1).Value = Range("B1") 'mettre la valeur de B1 dans les cellule precedente
          Cells(7, i).Value = Range("B1").Value 'mets ta valeurs dans la cellule de ton tableau
          i = i + 1 'prochaine colonne
          Application.Wait Time + TimeSerial(0, 0, 1) 'attends 10 sec
          DoEvents
          Loop
          Range("B3") = Range("B3") + Range("T7")

          'If Range("B7") <> "" Then

          'boucle sur la colonne X
          Set Rng1 = Columns(24).Cells.Find(Range("C13").Offset(Nb_Boucle, 0).Value)

          If Rng1 Is Nothing Then
          MsgBox Range("C13").Offset(Nb_Boucle, 0).Value & " non trouvé en colonne X"
          Else
          Rng1.Offset(1, 0).Value = Rng1.Offset(1, 0).Value + Range("B7").Value
          'End If
          End If
          Nb_Boucle = Nb_Boucle + 1
          If Nb_Boucle = Nbre_Total_Boucl Then Exit Do
          Loop
          Else
          MsgBox "B1 est vide !"

          End If
          '.Range("b7:t7").Value = UniteLavage
          'On démarre la procédure de choix aléatoire
          Choix_Aleatoire
          'Si Satisfait n'est pas atteint on quitte
          If Not Satisfait Then Exit Sub
          'On détermine la quantité de chaque Plat
          i = .[c65000].End(xlUp).Row
          Set d = CreateObject("scripting.dictionary")
          'On boucle la colonne C
          For j = 13 To i
          'On incrémente chaque Plat pour déterminer le nombre de chaque
          d(.Cells(j, 3).Value) = d(.Cells(j, 3).Value) + 1
          Next j
          For Each c In d.keys: d(c) = d(c) * UniteLavage: Next c
          'On boucle la colonne X
          'For j = 2 To 13 Step 2
          'If d.exists(.Cells(j, "x").Value) Then .Cells(j, "x").Offset(1).Value = d(.Cells(j, "x").Value)
          ' Next j
          'On ajoute la valeur à B1
          .[B3] = WorksheetFunction.Sum([x2:x13])
          End With
          'compt = compt + 1
          Loop
          End Sub
        5. @BarahaouaBonjour,

          Ben oui, mais quel est le but, car ca ecrit T7 dans trois cellules et apres ???????
      2. voila je t'est fait ce shéma pour comprendre

        LES 1S ET 4S c'est des secondes

        merci

        1. ta compris ce que je veux faire ?
        2. @BarahaouaRe,

          Oui, mais c'est l'inverse de votre code, je regarde la chose
        3. ok merci je vais attendre ta reponse merci beaucoup
        4. @BarahaouaRe,

          Y a pas de remplissage de colonne I !!!!!!!!!! Par contre y a colonne R

          En dehors de rallonger le temps d'execution, a quoi servent les temps d'attente de 1s ??
        5. le remplissage de la colonne R se faite lorsque toutes les cellule de la colonne X se remplissent

          quand cellules de la colonne R changent ceux de I aussi changent