Affichage des resultats incomplets
Bonjour à tous,
Je viens demander de l'aide sur ce forum car mon problème est le suivant. La macro que j'ai actuellement que voici
me permet de bien afficher les boites 6 et 4 selon les conditions du code (image ci dessous)
En revanche, si je change les parametres dans la colonne "S" et execute la macro (image suivante), celle ci ne me m'affiche alors que deux boites alors que 3 sont necessaires pour remplir les conditions et que 3 boites sont bien dans les conditons requises (les boites 6, 5 et 3), c'est à dire avoir la valeur 1 dans la colonne "S" afin de les sommer pour être supérieur ou égale à la valeur de la cellule P3.
Si quelqu'un a une idée ou des propositions je suis tout ouie.
Merci d'avance pour l'attention portée à mon problème,
Bonne journée à tous
Cordialement.
Bonjour,
Essayez ceci (petite modification)
Sub Test()
Dim Prod As Long, DerLig_R As Long
Dim Val_P As Double
Dim Lig As Object
Dim Boites_utilisees As String, Deb As String
Application.ScreenUpdating = False
DerLig_R = Range("R" & Rows.Count).End(xlUp).Row 'Dernière ligne trouvée par rapport à la colonne R
Val_P = Cells(Range("P" & Rows.Count).End(xlUp).Row, "P") 'Dernière valeur de la colonne P
Boites_utilisees = ""
With Sheets("Feuil1").Range("S1:S" & DerLig_R)
Set Lig = .Find(1, lookat:=xlWhole)
If Not Lig Is Nothing Then
Deb = Lig.Address
Prod = Cells(Lig.Row + 1, "R") 'on prend la valeur du nombre de boîtes
If Prod >= Val_P Then
Cells(Lig.Row, "T") = "OK" 'alors on affiche "OK dans la cellule sur la même ligne en colonne T
Exit Sub
Else
Prod = 0
'Boites_utilisees = Cells(Lig.Row, "R")
Do
Prod = Prod + Cells(Lig.Row + 1, "R") 'on prend la valeur du nombre de boîtes
If Prod >= Val_P Then
Boites_utilisees = Boites_utilisees & ", " & Cells(Lig.Row, "R")
MsgBox Mid(Boites_utilisees, 3, Len(Boites_utilisees) - 1) & " Utilisées"
Exit Sub
End If
Boites_utilisees = Boites_utilisees & ", " & Cells(Lig.Row, "R")
Set Lig = .FindNext(Lig)
Loop While Not Lig Is Nothing And Lig.Address <> Deb
End If
End If
End With
End SubCdlt
Cela fonctionne c'est parfait merci beaucoup Monsieur Arturo83 pour votre aide