Repetition de boucle

Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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 !!!!!!
    0
  2. Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    ( je te conseil stp de voir d'abord le fonctionnement de se que j'ai fait )
    Ca se lance comment votre truc ???
    0
    1. Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
       
      il faut cliquer sur le bouton simulation qui se trouve dans la feuille Interface
      0
    2. Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
       
      vous avez compris se que je veux faire ?
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
         
        Re,
        Non, dans quelle boucle voulez-vous integrer ce code
        0
    3. Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
       
      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
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
         
        Bonjour,

        Ben oui, mais quel est le but, car ca ecrit T7 dans trois cellules et apres ???????
        0
  4. Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
     
    voila je t'est fait ce shéma pour comprendre

    LES 1S ET 4S c'est des secondes

    merci

    0
    1. Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
       
      ta compris ce que je veux faire ?
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
       
      Re,

      Oui, mais c'est l'inverse de votre code, je regarde la chose
      0
    3. Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
       
      ok merci je vais attendre ta reponse merci beaucoup
      0
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
       
      Re,

      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 ??
      0
    5. Barahaoua Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
       
      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
      0