re:
j'ai remis les classeurs modifiés comme tu le souhaites (ne pas supprimer les lignes au-dessus du tableau !
voir mon dernier message avec EDIT !
https://www.excel-downloads.com/threads/resolu-vba-supprimer-ligne-vides-dune-plage.20026426/
Bon j'abuse .. J utilise un code qui permet de Pinger une lite d hostname et cela fonctionne très bien mais il est très long! peut être que c'est tout à fait normal je sais pas en fait. Apparemment vous êtes expert en VB ^^ le plus étrange est que si je fais une fois ECHAP ça va plus vite.. ce n'est pas une obligation bien sur mais peut être qu'en un coup d 'œil vous verrez la coquille si elle est existe bien sur ! le voici :
Sub PingListePostes()
Application.ScreenUpdating = False
On Error Resume Next
Dim Tab_Ra As Range, Cel_en_Cours As Range, objhttp As Variant, PingResult As Variant, Computer$, IP As String
Set objhttp = CreateObject("MSXML2.ServerXMLHTTP.4.0")
Dim Last&
Last = [E65000].End(xlUp).Row
Set Tab_Ra = Range("E21:E" & Last) '
tab_ra.Address = E21:E5000
For Each Cel_en_Cours In Tab_Ra.Cells
If Cel_en_Cours.Value <> "" Then
If Cel_en_Cours.Offset(0, 1).Value = "" Or Cel_en_Cours.Offset(0, 1).Value = "Poste Non joignable" Then
Computer$ = Trim(Cel_en_Cours.Value): IP = ""
For Each PingResult In GetObject("winmgmts://./root/cimv2").ExecQuery _
("SELECT * FROM Win32_PingStatus WHERE Address = '" & Computer$ & "'")
If IsObject(PingResult) Then IP = PingResult.ProtocolAddress
Next
If IP = "" Then Cel_en_Cours.Offset(0, 1).Value = "Poste Non joignable" Else Cel_en_Cours.Offset(0, 1).Value = IP
End If
End If
Next Cel_en_Cours
Set objhttp = Nothing
Application.ScreenUpdating = True
MsgBox "FIN DU PING"
End Sub