Bonjour Jpmalb, bonjour le forum,
Travailler avec un bout de code ne simplifie pas la compréhension... Je te propose, à tout hasard :
If Sheets("Stat").[A1] = "" Then
lignajout = 1
Else
lignajout = Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
ActiveSheet.Paste Destination:=Worksheets("stat").Range("3:" & lignajout)
Pour l'explication du code :
Range("A" & Rows.Count).End(xlUp).Row + 1
permet de connaître le numéro de ligne de la première cellule vide d'une colonne, ici, la colonne A.
On par de la dernière ligne de la colonne :
Range("A" & Rows.count)
on remonte jusqu'à la dernière cellule éditée de cette colonne avec :
.End(xlUp)
On obtient le numéro de celle dernière ligne éditée avec :
.Row
On obtient le numéro de la première cellule vide en rajoutant +1 à ce numéro obtenu.
De la même manière pour obtenir par exemple la première cellule vide de la ligne 1 on aurait :
Cells(1, Application.Columns.Count).End(xlToLeft).Column + 1