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

2022 01 05 08 27 05 microsoft visual basic pour applications classeur xlsx module1 code

me permet de bien afficher les boites 6 et 4 selon les conditions du code (image ci dessous)

2022 01 05 08 29 41 classeur excel

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.

2022 01 05 08 37 01 classeur excel

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 Sub

Cdlt

Cela fonctionne c'est parfait merci beaucoup Monsieur Arturo83 pour votre aide

Rechercher des sujets similaires à "affichage resultats incomplets"