Sub Macro1()
Dim O As Object 'déclare la variable O (Onglet)
Dim DL As Long 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim LI As Long 'déclare la variable LI (LIgne)
Dim COL As Byte 'déclare la variable COL (COLonne)
Dim NB As Byte 'déclare la variable NB (NomBre)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Set O = Sheets("Feuil3") 'définit l'onglet O
DL = O.Cells(Application.Rows.Count, 1).End(xlUp).row 'définit la dernière ligne éditée DL de la colonne 1 (=A) de l'onglet O
For LI = DL To 2 Step -1 'boucle 1 : inversée de la dernière ligne DL à la ligne 2 (par pas de 1)
NB = 0 'initialise le nombre NB
For COL = 2 To 21 'boucle 2 : des colonnes 2 (=B) à 21 (=U)
'si l'interieur de la cellule est vert, incrémente le nombre NB
If O.Cells(LI, COL).Interior.ColorIndex = 4 Then NB = NB + 1
Next COL 'prochaine cellule de la boucle 2
Select Case NB 'agit en fonction du nombre NB
Case Is < 6 'cas inférieur à 6
Rows(LI).Delete 'supprime la ligne
Case 7, 8, 9, 10 'cas égal à 7, 8, 9 ou 10
'définit la cellule de destination DEST
Set DEST = Sheets("Chiffre_" & NB).Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)
Rows(LI).Copy DEST 'copy la ligne LI et la colle dans DEST
End Select 'fin de l'action en fonction du nombre
Next LI 'prochaine ligne d ela boucle 1
End Sub