Le code est le suivant :
Sub Devis()
Dim Dl As Long, i As Long, k As Long
Dl = Sheets("Feuil1").Range("A1000").End(xlUp).Row
k = 10
For i = 3 To Dl
If Sheets("Feuil1").Range("I" & i).Value <> "" Then
Sheets("Devis").Range("A" & k) = Sheets("Feuil1").Range("A" & i)
Sheets("Devis").Range("B" & k) = Sheets("Feuil1").Range("F" & i)
Sheets("Devis").Range("C" & k) = Sheets("Feuil1").Range("G" & i)
Sheets("Devis").Range("D" & k) = Sheets("Feuil1").Range("I" & i)
k = k + 1
End If
Next
End Sub
k = 10 signifie : que la copie débute à la ligne 10
Dl = Sheets("Feuil1").Range("A1000").End(xlUp).Row sifnie : dernière ligne ou il est écrit quelque chose en partant de la ligne 1000 jusqua 1
For i = 3 To Dl : c'est une boucle : Pour i ayant la valeur 3 jusqua 1000
If Sheets("Feuil1").Range("I" & i).Value <> "" Then : Si dans feuil1 la cellule I & i (donc de A3 à A1000) il y a une valeur autre que rien alors
Sheets("Devis").Range("A" & k) = Sheets("Feuil1").Range("A" & i) : Onglet Devis cellule A & 10 (donc A10) = Onglet Feuil 1 cellule A & i
k = k+1 formule te permettant d'avoir les données une endessous de l'autre
End if : fin de si
Next : nécessaire pour le fonctionnement de la boucle.
Voila merci de ne pas oublier de valider le sujet