Récupérer la réponse à une commande donnée par Shell

Le
olivier
Bonjour,


Dans une macro sous Excel, j'ai besoin de faire un ping sur des adresses
TCP/IP.

Pour cela j'utilise, la commmande shell("ping TCP/IP") mais j'aimerai bien
pouvoir intecepter le retour de cette commande pour pouvoir selon ue le PC
réponde ou pas faire que ma cellule soit en rouge si le PC ne répond pas ou
ma cellule en vert si mon PC répond.

Mon problème est de pouvoir intercepter la réponse au ping.

Si quelqu'un peut m'aider en tout cas merci.

Olivier
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Modeste
Le #18706821
Bonsour® olivier

Dans une macro sous Excel, j'ai besoin de faire un ping sur des
adresses TCP/IP.

Pour cela j'utilise, la commmande shell("ping TCP/IP") mais j'aimerai
bien pouvoir intecepter le retour de cette commande pour pouvoir
selon ue le PC réponde ou pas faire que ma cellule soit en rouge si
le PC ne répond pas ou ma cellule en vert si mon PC répond.

Mon problème est de pouvoir intercepter la réponse au ping.



rediriger par un pipe la réponse du ping dans un fichier texte et verifier l'existense de ce fichier en retour

NB :
la commande Shell n'admet que deux retours possibles :
0 : commande exécutée
erreur : commande incorrecte
cela n'augure aucunement sur le résultat du ping !!!!

la commande ShellExecuteEX est plus loquace sur le code d'erreur :
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
0 The operating system is out of memory or resources.
ERROR_FILE_NOT_FOUND The specified file was not found.
ERROR_PATH_NOT_FOUND The specified path was not found.
ERROR_BAD_FORMAT The .EXE file is invalid (non-Win32 .EXE or error in .EXE image).
SE_ERR_ACCESSDENIED The operating system denied access to the specified file.
SE_ERR_ASSOCINCOMPLETE The filename association is incomplete or invalid.
SE_ERR_DDEBUSY The DDE transaction could not be completed because other DDE transactions were being processed.
SE_ERR_DDEFAIL The DDE transaction failed.
SE_ERR_DDETIMEOUT The DDE transaction could not be completed because the request timed out.
SE_ERR_DLLNOTFOUND The specified dynamic-link library was not found.
SE_ERR_FNF The specified file was not found.
SE_ERR_NOASSOC There is no application associated with the given filename extension.
SE_ERR_OOM There was not enough memory to complete the operation.
SE_ERR_PNF The specified path was not found.
SE_ERR_SHARE A sharing violation occurred.

ceci étant hors VBA EXCEL
poser la question sur : news://news.microsoft.com/microsoft.public.fr.vb
Daniel.j
Le #18707341
Bonjour
Possible d'envoyer la reponse dans un fichier

ValRetour = Shell("cmd /c ping 192.168.0.1 > c:ajeterping.txt")

et lire le fichier texte ensuite
Daniel

--
FAQ MPFE
http://dj.joss.free.fr/faq.htm

VBAXL
http://dj.joss.free.fr/

"olivier" 499c9508$0$2756$
Bonjour,


Dans une macro sous Excel, j'ai besoin de faire un ping sur des
adresses TCP/IP.

Pour cela j'utilise, la commmande shell("ping TCP/IP") mais j'aimerai bien
pouvoir intecepter le retour de cette commande pour pouvoir selon ue le PC
réponde ou pas faire que ma cellule soit en rouge si le PC ne répond pas
ou ma cellule en vert si mon PC répond.

Mon problème est de pouvoir intercepter la réponse au ping.

Si quelqu'un peut m'aider en tout cas merci.

Olivier



Daniel.j
Le #18707471
Peut etre en VBS : pour avoir le resultat dans un msg

Set WshShell = CreateObject("Wscript.shell")
PING = WshShell.Run("Ping.exe 192.168.0.1", 0, True)
MsgBox PING

Daniel

"olivier" 499c9508$0$2756$
Bonjour,


Dans une macro sous Excel, j'ai besoin de faire un ping sur des
adresses TCP/IP.

Pour cela j'utilise, la commmande shell("ping TCP/IP") mais j'aimerai bien
pouvoir intecepter le retour de cette commande pour pouvoir selon ue le PC
réponde ou pas faire que ma cellule soit en rouge si le PC ne répond pas
ou ma cellule en vert si mon PC répond.

Mon problème est de pouvoir intercepter la réponse au ping.

Si quelqu'un peut m'aider en tout cas merci.

Olivier



olivier
Le #18717161
Merci pour vos réponses
Bonne journée.
"olivier" 499c9508$0$2756$
Bonjour,


Dans une macro sous Excel, j'ai besoin de faire un ping sur des
adresses TCP/IP.

Pour cela j'utilise, la commmande shell("ping TCP/IP") mais j'aimerai bien
pouvoir intecepter le retour de cette commande pour pouvoir selon ue le PC
réponde ou pas faire que ma cellule soit en rouge si le PC ne répond pas
ou ma cellule en vert si mon PC répond.

Mon problème est de pouvoir intercepter la réponse au ping.

Si quelqu'un peut m'aider en tout cas merci.

Olivier



Publicité
Poster une réponse
Anonyme