Je souhaitais savoir s'il était possible, en VBA, de faire
un ping sur un PC et de récupérer les informations
obtenues.
Je n'ai pas trouvé d'informations à ce sujet dans l'aide.
Merci d'avance pour votre aide
Cindy
pong
"Cindy" <cind...@caramail.com> a écrit dans le message de news:
027c01c30b25$a20b4950$3401...@phx.gbl...
Frédéric Sigonneau a déjà publié une réponde là-dessus:
http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&oe=UTF-8&threadm=3D6BD452.2752687A%40wanadoo.fr&rnum=1&prev=/groups%3Fas_q%3Dping%26ie%3DUTF-8%26oe%3DUTF-8%26as_ugroup%3Dmicrosoft.public.fr.excel%26lr%3D%26num%3D100%26hl%3Dfr
Salutations,
Daniel M.
"Cindy" <cind...@caramail.com> wrote in message
news:027c01c30b25$a20b4950$3401...@phx.gbl...
Bonsoir Serge,
C'est expliqué là :
http://www.linux-france.org/prj/jargonf/P/ping.html
Je ne suis pas tout à fait d'accord avec l'explication
donnée sur l'origine du nom. Si ping était effectivement
le nom du soft original, celui-ci a été très probablement
tiré du bruit caractéristique des sonars employés par
les bateaux ou les sous-marins pour repérer une cible.
@+
FxM
Sub ping()
'Inspiré de John Robson, mpep
Dim cmd As String
IP = "195.101.94.80" 'c'est l'@ de www.voila.fr
'pour info on peux faire la commande directement avec le nom IP=www.voila.fr
cmd = Environ("comspec") & " /c ping -a -n 1 " & IP & " > c:\ping.txt"
'-a pour résoudre les noms d'host, -n 1 pour une seule requête -w 10 pour
spécifier
'un délai d'attente max de 10 ms (aucun délai d'attente ici)
'pour d'autres renseignement faire ping -? dans une fenêtre DOS (sous win98
ca marche!)
Shell cmd
Application.Wait (Now + TimeValue("0:00:20"))
'Shell commands run asyncronously so we wait for them to finish
'(10 secs should be enough)
'en cas de time out (si on a pas spécifié -w 10)
'dans la commande précédente 10 s sont insuffisantes
Range("A2:C65536").Clear
'Clear old data - Now get the info and close the files
Dim HostLength As Integer
Dim Host As String
Dim Responselength As Integer
Dim Response As String
Range("A1") = "IP"
Range("B1") = "HostName"
Range("C1") = "Response"
'For x = MinIP To MaxIP
Workbooks.Open ("C:\ping" & x & ".txt")
HostLength = InStr(1, Range("A3"), "[", 1) - 2
If HostLength > 0 Then
Host = Left(Range("A3"), HostLength)
Host = Right(Host, Len(Host) - 31)
Else
Host = "Unresolved"
End If
If Left(Range("A7"), 1) = "R" Then ''si @ répond, message Réponse .....
DelaiPosDeb = InStr(1, Range("A7"), "temps=", 1) + 5
Response = Right(Range("A7"), Len(Range("A7")) - DelaiPosDeb)
DelaiPosFin = InStr(1, Response, " ms", 1)
Response = Left(Response, DelaiPosFin - 1)
Else
Response = "Timed Out"
End If
DisplayAlerts = False
ActiveWorkbook.Close
Range("A2") = IP
Range("B2") = Host
Range("C2") = Response
Kill "c:\ping.txt" 'suppression du fichier généré par la commande
End Sub
Bonne journée
Pat
"Cindy" <cind...@caramail.com> a écrit dans le message de news:
027c01c30b25$a20b4950$3401...@phx.gbl...
"Cindy" <cind...@caramail.com> a écrit dans le message de news:
027c01c30b25$a20b4950$3401...@phx.gbl...
content de te revoir parmi nous...
jps
j@c a écrit:
>-----Message d'origine-----
>.
>