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:
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.
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
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 "
Partager