Erreur d'affichage
Bonjour,
Les valeurs étant sur la même ligne que le 1, il ne font pas inclure un décalage de ligne, ici par exemple:
Prod = Cells(Lig.Row,+1 "B")
Remplacé par
Prod = Cells(Lig.Row, "B")
Puis il faut comptabiliser les chaînes utilisées tant qu'on n'a pas atteint la valeur seuil
If Prod >= DerL Then
Chaines_utilisees = Chaines_utilisees & ", " & Cells(Lig.Row, "A")
MsgBox Mid(Chaines_utilisees, 3, Len(Chaines_utilisees) - 1) & " Utilisées"
Exit Sub
Else
Chaines_utilisees = Chaines_utilisees & ", " & Cells(Lig.Row, "A")
End If
le code en entier
Sub Test()
Dim Prod As Long, P3 As Long, DerL As Long, DerLig_B As Long
Dim Lig As Object
Dim Chaines_utilisees As String, Deb_Nom As String
Application.ScreenUpdating = False
DerLig_B = Range("B" & Rows.Count).End(xlUp).Row 'Dernière ligne trouvée par rapport à la colonne B
DerL = Cells(Range("E" & Rows.Count).End(xlUp).Row, "E") 'Dernière valeur ligne trouvée de la colonne E
Chaines_utilisees = ""
With Sheets("Feuil2").Range("F1:F" & DerLig_B) 'Analyse de la colonne F
Set Lig = .Find(1, lookat:=xlWhole)
If Not Lig Is Nothing Then
Deb_Nom = Lig.Address
Prod = Cells(Lig.Row, "B") 'on prend la valeur du nombre de chaînes
If Prod >= DerL Then
Cells(Lig.Row, "G") = "OK" 'alors on affiche "OK dans la cellule sur la même ligne en colonne G
Exit Sub
Else
Prod = 0
Do
Prod = Prod + Cells(Lig.Row, "B") 'on prend la valeur de la somme des chaînes disponibles
If Prod >= DerL Then
Chaines_utilisees = Chaines_utilisees & ", " & Cells(Lig.Row, "A")
MsgBox Mid(Chaines_utilisees, 3, Len(Chaines_utilisees) - 1) & " Utilisées"
Exit Sub
Else
Chaines_utilisees = Chaines_utilisees & ", " & Cells(Lig.Row, "A")
End If
Set Lig = .FindNext(Lig)
Loop While Not Lig Is Nothing And Lig.Address <> Deb_Nom
End If
End If
End With
End Sub
Pour les prochaines fois, mettez le code plutôt qu'une image et même mieux, un fichier sans données confidentielles, ça évite de tout se refaire.
Cdlt
Bonjour,
Merci beaucoup pour votre réponse et veuillez m'excuser pour le fichier. J'ai bien lancé votre code, mais le msg Box n'affiche que la chaine 6 et n'affiche pas les autres chaines nécessaires ( ici la 2 et la 3) pour dépasser les 115,21.
J'ai changer la disposition des 1 dans la colonne F pour voir mais cette fois ci, le programme n'affiche plus aucune chaine et seulement le OK dans la colonne G alors même que le débit 115,21 est supérieur à 65.
Auriez vous une idée du problème ?
Encore merci pour votre intervention.
Cordialement
Bonjour,
J'ai trouvé mon erreur, veuillez m'excuser pour mon intervention futile. Votre code fonctionne parfaitement bien merci pour tout.
Bonne fin de journée er de semaine à vous,
Cordialement