Oups, désolé, PetitClaude, j'avais mal lu.
En fait, ce sont les lignes qui ne sont pas complètes dans le premier tableau qu'il faut recopier. J'ai fait le contraire.
Alors voici ta macro modifiée:
Private Sub CommandButton1_Click()
Dim Cellule As Range
Dim NouvelleCellule As Range
Application.ScreenUpdating = False
Worksheets("Feuil2").Range("E8:G8").EntireColumn.Clear For Each Cellule In Worksheets("Feuil1").Range("M1").Resize(Range("M65536").End(xlUp).Row, 1)
If Cellule.Cells(1, 2) = "" Or Cellule.Cells(1, 4) = "" Then
With Worksheets("Feuil2")
If .Range("E10") = "" Then
Set NouvelleCellule = .Range("E10")
Else
Set NouvelleCellule = .Range("E65536").End(xlUp).Cells(2, 1)
End If
End With
NouvelleCellule = Cellule.Cells(1, 5)
NouvelleCellule.Cells(1, 2) = Cellule.Cells(1, 1)
NouvelleCellule.Cells(1, 3) = Cellule.Cells(1, 3)
End If
Next Cellule
Application.ScreenUpdating = True
End Sub
Attention, au début, on efface les colonnes E à G de la feuille 2, donc y compris ce qui y est au-dessus de la ligne 10. Comme tu demandes de commencer la recopie à partir de E10, peut-être as-tu des données au-dessus qui vont alors disparaître. Une toute petite modif sera alors nécessaire.
Sinon, la macro n'utilise toujours pas tes 3 colonnes supplémentaires de la feuille 1. Tu pourras les supprimer si tu n'en as pas besoin par ailleurs.
Bonne nuit.
Laurent.