Sub CopieColle()
With Sheets("G COMMANDE")
LigneDest = .Range("K" & .Rows.Count).End(xlUp).Row + 1 'on récupère la dernière ligne de la colonne K
Set zone = Range("L3:N25")
For Each ele In zone
If ele.Column = 12 And ele.Offset(0, 4) <> "" Then 'si il y a des données en colonne P
Range("J3:K3").Copy Destination:=.Range("K" & LigneDest) 'on recopie les cellules J3:K3
.Range("K" & LigneDest).Resize(1, 2).Validation.Delete 'on supprime la liste de validation qui a été copiée
Union(Range(ele.Address, ele.Offset(0, 1)), Range(ele.Offset(0, 4), ele.Offset(0, 5))).Copy Destination:=.Range("M" & LigneDest) 'on copie les data des colonnes L M P et Q
LigneDest = LigneDest + 1 'on incrémente la dernière ligne
End If
Next ele
End With
Range("J3:K3").ClearContents 'on efface
Range("P3:Q25").ClearContents 'on efface
End Sub