Bonjour Dr.Excel, Salut Ergotamine ,
La réponse a déjà été donnée sur le fil : https://forum.excel-pratique.com/excel/ecrire-le-texte-de-la-cellule-du-dessus-si-la-cellule-est-vid...
Il faut changer le type de la variable L : dim L as integer, voire dim L as long.
D'ailleurs, si votre nombre de lignes évolue sans cesse, il faudrait le variabiliser :
Sub RECOPIE()
Dim L As long, dl as long
With ActiveSheet 'Avec la feuille active
dl = .cells(.rows.count, 2).end(xlup).row 'derniere ligne non vide en colonne 2
For L = 1 To dl 'Pour les lignes 1 à dl
If .Cells(L, 1) = "" And .Cells(L, 2) <> "" Then .Cells(L, 1) = .Cells(L, 1).Offset(-1) 'Si la cellule de la première colonne à la ligne L est vide et la cellule de la deuxième colonne à la ligne L est pleine alors sa valeur devient la cellule de la première colonne à la ligne L-1
Next L 'Passe au L suivant
End With
End Sub
Cdlt,