[VBA] Problème avec la commande shell

Fermé
julie75 - 17 janv. 2011 à 12:32
JuB0 Messages postés 654 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 6 mai 2012 - 19 janv. 2011 à 12:37
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 jeudi 27 décembre 2007 Statut Membre Dernière intervention 6 mai 2012 81
17 janv. 2011 à 15:07
Salut julie75
Essaies avec "telnet.exe" ou en mettant son path complet : "C:\Windows\System32\telnet.exe"
0
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 jeudi 27 décembre 2007 Statut Membre Dernière intervention 6 mai 2012 81
17 janv. 2011 à 15:14
"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
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 jeudi 27 décembre 2007 Statut Membre Dernière intervention 6 mai 2012 81
17 janv. 2011 à 15:28
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
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 jeudi 27 décembre 2007 Statut Membre Dernière intervention 6 mai 2012 81
17 janv. 2011 à 16:09
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
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 jeudi 27 décembre 2007 Statut Membre Dernière intervention 6 mai 2012 81
18 janv. 2011 à 08:02
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
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 jeudi 27 décembre 2007 Statut Membre Dernière intervention 6 mai 2012 81
19 janv. 2011 à 12:37
C'est de la "bidouille", mais l'essentiel c'est que ça fonctionne !
De rien, avec plaisir.

Julien
0