Merci pour ton aide
en effet ça fonctionne bien dans ton exemple.
Entre temps, en fouillant sur le web et notamment excelabo, j'avias trouvé la solution suivante :
Sub NouvelleLigneEnDessous()
Columns(1).Find('*', , , , , xlPrevious).Offset(1, 0).Select
' Insère une ligne sous la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
Dim i
ActiveCell.Range('A2').EntireRow.Insert
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig + 1, i).HasFormula Then
Cells(ZtNumLig + 1, i).ClearContents
End If
Next i
ActiveCell.Range('A2').Select
End Sub
Je n' ai rien compris à la macro, mais ca marche alors c'est super.
merci tout de même