[VBA] Problème avec la commande shell

julie75 -  
JuB0 Messages postés 654 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tout le monde !

Voilà, je rencontre un problème trèèèès étrange avec l'utiliation de la commande shell en VBA, je souhaite lancer telnet depuis ma sheet excel donc je fais :

AdIP = "10.16.1.212"
prog = "C:\Windows\System32\"
retval = Shell(prog & "cmd /k telnet -f " & AdIP & " F:\BAIES\" & AdIP & ".txt ", 1)

la fenêtre DOS se lance bien mais j'ai le message : 'telnet' is not recognized as an internal or external command...

Lorsque je le fais à la main ça marche nickel !

La chose étrange également est que lorsque je fais un dir *.exe dans le dossier System32 depuis la fenêtre généré par la fonction shell j'ai moins de réponse que lorsque je le fais en ouvrant cmd à la mano... (il n'y a pas telnet.exe dans le premier dir)

Savez-vous ce qu'il se passe ?

Un grand merci par avance car je sèche !


11 réponses

JuB0 Messages postés 654 Date d'inscription   Statut Membre Dernière intervention   81
 
Salut julie75
Essaies avec "telnet.exe" ou en mettant son path complet : "C:\Windows\System32\telnet.exe"
0
julie75
 
Up, up, up.....

Houlala pas de sauveur dans la salle ??

Je fais un simple :

Shell ("telnet.exe")

et j'ai un joli "Fichier introuvable"... alors que

Shell ("calc.exe") ça roule

en DOS je fais telnet.exe ça roule aussi...

Pour info je suis sous Windows 2008 R2

Merci, merci.

EDIT: Je viens de voir ton message JuBO (et t'en remercie par ailleurs).
et bien même en faisant :
Shell ("C:\Windows\System32\telnet.exe") j'ai "Fichier introuvable"
0
JuB0 Messages postés 654 Date d'inscription   Statut Membre Dernière intervention   81
 
"La chose étrange également est que lorsque je fais un dir *.exe dans le dossier System32 depuis la fenêtre généré par la fonction shell j'ai moins de réponse que lorsque je le fais en ouvrant cmd à la mano... (il n'y a pas telnet.exe dans le premier dir)"
On dirait un problème de droits ...
Tu executes le VBA "en tant que" ?
0
julie75
 
Comment je peux voir ça JuBO ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JuB0 Messages postés 654 Date d'inscription   Statut Membre Dernière intervention   81
 
c'est toi qui ouvre excel ?
(sinon dans le gestionnaire des tâches tu peux voir le nom de l'utilisateur de chaque processus)
0
julie75
 
Haaa mais oui quelle cruche !

Je l'ouvrais avec mon compte de domaine (qui est dans le groupe administrator local), j'ai essayé avec le compte admin local mais toujours pareil, ce fichier "fichier introuvable" erreur 53. Pfffffff

Merci pour ton aide JuBO
0
JuB0 Messages postés 654 Date d'inscription   Statut Membre Dernière intervention   81
 
Es tu sûre que telnet.exe est situé dans c:\Windows\System32 ?
Et si tu copies le telnet.exe à la racine de ton disque et que tu modifies ton script en conséquence ?
0
julie75
 
Ha bah d'accord, je t'ai posté une réponse cette aprem mais elle n'apparait pas!

Je disais donc que tu avais mis le doigt sur le pb car en déplaçant le fichier de System32 à C:\ ça fonctionne, ça doit être donc un pb de droit sur le dossier WIndows.

Ca ne m'arrange pas tout ça car mon fichier excel sera utilisé sur d'autres machines, si il faut que je leurs demande de modifier leurs droits c'est pas top top.

Bonne soirée\journée !
0
JuB0 Messages postés 654 Date d'inscription   Statut Membre Dernière intervention   81
 
Je vois 2(3) solutions :
1. Le plus propre serait de comprendre et résoudre ton problème de droits d'accès.
2. Le VBA ne contient t'il pas un objet ayant les fonctions du telnet (comme l'objet Shell pour l'invite de commandes) ?
3. Tu fais un "package" : tu envoies le fichier telnet.exe avec ton classeur excel sur les autres machines, et tu modifies ton script pour aller chercher le fichier "telnet.exe" dans le même dossier que ton classeur.
0
julie75
 
Hello JuBO !

J'ai fais ta solution 3 qui est parfaite en faite !

Merci infiniment pour ton aide !
0
JuB0 Messages postés 654 Date d'inscription   Statut Membre Dernière intervention   81
 
C'est de la "bidouille", mais l'essentiel c'est que ça fonctionne !
De rien, avec plaisir.

Julien
0