Bonjour le forum,

J'ai un feuille de plusieurs dizaines de milliers de lignes qui contient des numéros de commande en colonne G, des codes articles en colonnes K, et des quantités commandées en colonne M.

Ce que je voudrais, c'est parcourir toutes les lignes d'une même commande (le nombre de lignes étant variable bien sûr), puis vérifier que dans cette commande, figure bien trois articles A, B, et C, et en quantité suffisante.
Et je cherche la manière la plus rapide possible.

Pour l'instant, j'arrive à délimiter la plage de chaque commande avec ce code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 Sub Test_Boucle_Groupement()
Dim PreLigCommande As Long, DerLigCommande As Long, LigFinBase As Long
Dim PlageCdes As Range, PlageCommande As Range
Set WsBase = Worksheets("Base")
LigFinBase = WsBase.[G65536].End(xlUp).Row
Set PlageCdes = WsBase.Range("G2:G" & LigFinBase)
 
For PreLigCommande = 2 To LigFinBase
    DerLigCommande = PlageCdes.Find(WsBase.range("G:" & PreLigCommande), SearchDirection:=xlPrevious).Row
    Set PlageCommande = WsBase.Range("G" & PreLigCommande & ":G" & DerLigCommande)
    PreLigCommande = DerLigCommande
Next PreLigCommande
End Sub
Mais maintenant que je sais que ma première commande, par exemple) se situe entre la ligne 2 et la ligne 5, je sèche sur la meilleure façon de vérifier que le range "K2:K5" contient bien les références A,B, et C, et que la référence A a bien été commandée au moins par 4, la B au moins par 8, et la C au moins par 4.

Aah, j'espère que c'est clair.
Mais je sèche un peu sur la meilleure façon de vérifier que la plage "