Avant de tester le tien j'essaye de faire celui ci pour les cellules vides.
ub melch()
Sheets("COMPARAISON").Select
Lign = Sheets("COMPARAISON").Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To Lign
If Sheets("COMPARAISON").Cells(i, 2).Value = "" Then
Range(Sheets("COMPARAISON").Cells(i + 1, 2)).Copy
Sheets("COMPARAISON").Cells(i, 2).PasteSpecial xlPasteValues
'Supprime le contenu de la dernière ligne
Range(Sheets("COMPARAISON").Cells(Lign, 2)).ClearContents
'Pour le tableaux plus tard
Range(Sheets("COMPARAISON").Cells(Lign, 2)).Borders(xlEdgeLeft).LineStyle = xlNone
Range(Sheets("COMPARAISON").Cells(Lign, 2)).Borders(xlEdgeBottom).LineStyle = xlNone
Range(Sheets("COMPARAISON").Cells(Lign, 2)).Borders(xlEdgeRight).LineStyle = xlNone
Range(Sheets("COMPARAISON").Cells(Lign, 2)).Borders(xlInsideVertical).LineStyle = xlNone
Range(Sheets("COMPARAISON").Cells(Lign, 2)).Borders(xlInsideHorizontal).LineStyle = xlNone
End If
Next i
'derlig = Cells(Rows.Count, 2).End(xlUp).Row
'For i = 2 To derlig
'If InStr(Cells(i, 2).Value, "-") Or Cells(i, 2) = "" Then Cells(i, 2).EntireRow.Delete
'Next
End Sub
Il ne marche pas si je n'y arrive pas je testerai le tien