Private Sub CommandButton1_Click() 'JMPS sur XLD
' Génération du .bat
Dim Prem As String, Der As String, IP As Range
Prem = "A2"
Der = Range("A65536").End(xlUp).Address(False, False)
Open ThisWorkbook.Path & "\XLPing.bat" For Output As #1
' Première adresse, on écrase le précédent .bat
Print #1, "ping " & Range("A1").Value & ">""" & ThisWorkbook.Path & "\XLPing.txt"""
' Ensuite on ajoute
For Each IP In Range(Prem & ":" & Der)
Print #1, "ping " & IP.Value & ">>""" & ThisWorkbook.Path & "\XLPing.txt"""
Next IP
Close
End Sub
Private Sub CommandButton2_Click()
' Lancement du .bat
Dim Retour As Variant
Retour = Shell(Chr(34) & ThisWorkbook.Path & "\XLPing.bat" & Chr(34), vbNormalFocus)
End Sub
Private Sub CommandButton3_Click()
' Traitement du fichier résultat
Dim Prem As String, Der As String
Dim Ligne As String, IP As String, Etat As Byte
Prem = "A1"
Der = Range("A65536").End(xlUp).Address(False, False)
Open ThisWorkbook.Path & "\XLPing.txt" For Input As #1
While Not EOF(1)
Line Input #1, Ligne
If InStr(1, Ligne, "Statistiques") <> 0 Then
IP = Mid(Ligne, 24, Len(Ligne) - 24)
Line Input #1, Ligne
Line Input #1, Ligne
Etat = Val(Mid(Ligne, 36, 1))
For Each c In Range(Prem & ":" & Der)
If IP = c.Value Then
Select Case Etat
Case Is = 0
c.Offset(0, 1).Interior.Color = vbRed
c.Offset(0, 1).Value = "Ping KO" 'Ajout JCGL
Case Is = 4
c.Offset(0, 1).Interior.Color = vbGreen
c.Offset(0, 1).Value = "Ping OK" 'Ajout JCGL
Case Else
c.Offset(0, 1).Interior.Color = vbYellow
c.Offset(0, 1).Value = "Ping Moyen" 'Ajout JCGL
End Select
End If
Next c
End If
Wend
Close
End Sub