Bonjour,
Exact, je suis d'accord avec 78Chris, le problème est à revoir en amont.
Toutefois si tu persistes dans cette voie, je te propose la solution suivante qui utilise une fonction ErreurRef perso.
(Nom de l'onglet à modifier, "Feuil1" dans l'exemple)
Sub test()
Dim C As Range
Dim i As Long
'Dernière ligne utilisée de la colonne B de l'onglet "Feuil1"
'stockée dans la variable i
Set C = Sheets("Feuil1").Cells(65535, 2).End(xlUp)
i = C.Row
'Boucle qui démarre du bas
'c'est le mieux en raison des suppressions de lignes
Do
'Si #REF on supprime la ligne
If ErreurREF(Sheets("Feuil1").Cells(i, 2)) Then
Sheets("Feuil1").Cells(i, 2).EntireRow.Delete
End If
i = i - 1
Loop Until i = 0 'Arrêt après traitement de la ligne 1
End Sub
Function ErreurREF(C As Range) As Boolean
'Constantes Excel des erreurs
'xlErrDiv, xlErrNa, xlErrName, xlErrNum, xlErrNull, xlErrRef, xlErrValue
ErreurREF = False
If IsError(C.Value) Then
If C.Value = CVErr(xlErrRef) Then
ErreurREF = True
Else
ErreurREF = False
End If
End If
End Function
Bon courage pour la suite