4 réponses
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 !!!!!!
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 !!!!!!
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
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
Re,
( je te conseil stp de voir d'abord le fonctionnement de se que j'ai fait )
Ca se lance comment votre truc ???
( je te conseil stp de voir d'abord le fonctionnement de se que j'ai fait )
Ca se lance comment votre truc ???
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