Nop, ce n'est pas abusé ^^
Sub Deplacer() 'Nom de la Sub
Dim derlig1 As Integer, derlig2 As Integer 'Déclaration des variables
derlig1 = Sheets("Feuil1").Cells(65336, 4).End(xlUp).Row
'derlig1 (Variable) = Sheets("Feuil1") (Feuille concernée) .Cells(65336, 4).End(xlUp).Row (Partir de la cellule D65336 et remonter vers le haut (xlup) jusqu'à rentrerune cellule non-vide. Ca revient à faire "CTRL + flèche du haut" en VBA)
For Each Cell In Sheets("Feuil1").Range(Cells(2, 4), Cells(derlig1, 4))
'Lancement d'une boucle, qui balaie les cellules situées entre "D2" et "D[dernière ligne non vide]"
If Cell.Value = "Assurances" Then 'Si la valeur de la cellule est "Assurances"
derlig2 = Sheets("Feuil2").Cells(65336, 4).End(xlUp).Row 'Dernière ligne non vide de la feuille de destination, insérée dans la boucle pour que le recalcul se fasse à chaque nouvelle "Cell". Si en dehors de la boucle, alors tu n'auras qu'une ligne insérée dans la feuille de destination, correspondant à la dernière "Cell" trouvée
Cell.EntireRow.Copy Destination:=Sheets("Feuil2").Cells(derlig2 + 1, 4).EntireRow 'Copier la ligne de la "Cell" qui répond à la condition, la coller dans la feuille 2 après la dernière ligne non-vide de la colonne D* (derlig2 +1)
End If 'Fin de la condition
Next 'Cell suivante
End Sub 'Fin de la sub
Deux choses à ne pas oublier car m'ont posé pas mal de soucis :
- Insérer le calcul de la variable derlig2 dans la boucle
- Penser à rajouter un "+ 1" après le "derlig2" dans la cellule de destination