Bonjour alex_, jmd, Ausecour, U.Milité,
Même si je suis entièrement d'accord avec vos recommandations, mais puisqu'Alex veut absolument une macro,
En voici une (ce code te semblera bien familier Ausecour, ).
Sub Bouton1_Cliquer()
Dim ligFin, colFin
colFin = 9
ligFin = Range("E" & Rows.Count).End(xlUp).Row
tableau = Range("A2", Cells(ligFin, colFin))
For i = LBound(tableau, 1) To UBound(tableau, 1)
If WorksheetFunction.IsError(tableau(i, 5)) = True Then
For j = LBound(tableau, 2) To UBound(tableau, 2)
tableau(i, j) = ""
Next j
End If
Next i
Range("a2").Resize(UBound(tableau, 1), UBound(tableau, 2)) = tableau
End Sub
Le temps d'exécution du code que j'avais initialement écrit est bien plus long...donc merci à toi pour l'inspiration (il faut absolument que je me familiarise avec l'utilisation des tableaux... ).
Sub Bouton2_Cliquer()
Dim i As Integer, dl As Integer
Application.ScreenUpdating = False
With Sheets("Sheet1")
dl = .Range("E" & Rows.Count).End(xlUp).Row
For i = dl To 2 Step -1
If WorksheetFunction.IsError(Range("E" & i)) = True Then Rows(i).EntireRow.Delete
Next i
End With
Application.ScreenUpdating = True
End Sub
Bien entendu, il est préférable de suivre les recommandations citées précédemment....
Amitiés à tous,