Instruction VBS pour saisir mot de passe dans Inputbox [Résolu]

Messages postés
2
Date d'inscription
samedi 21 mars 2015
Dernière intervention
21 mars 2015
- - Dernière réponse : janigrel
Messages postés
2
Date d'inscription
samedi 21 mars 2015
Dernière intervention
21 mars 2015
- 21 mars 2015 à 18:24
Bonjour,
J'utilise un VBS pour ouvrir (sans affichage) un fichier Excel et exécuter une macro dans ce fichier. Voici mon script VBS :

Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = False
set Wk = oXL.workbooks.open("C:\Users\manu\Desktop\MacroAuto.xlsm")
oxl.run "MailAuto"
Wk.save
wk.close
oxl.quit
Set oXL = Nothing


Cependant, la macro dans mon fichier Excel s'exécute avec saisie d'un mot de passe dans un InputBox. Voici mon code dans Excel :

Sub MailAuto()
Dim sPass As String
sPass = InputBox("Veuillez saisir le mot de passe")
If sPass = "mdp" Then
Call Envoi_mail
End If
End Sub


Ma problématique : VBS ouvre bien le fichier Excel, lance bien la macro, mais à l'ouverture de l'Intputbox, j'aimerais que VBS saisisse automatiquement le mot de passe "mdp".
Quelle instruction dois-je écrire pour cela dans mon VBS?

Je vous remercie de votre aide.
Cordialement
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
1
Merci
Bonjour,
Hé bien ! ===>> court-circuite donc cette inputbox et dis, directement que :
"sPass = "mdp"
ou encore, carrément, passe directement à :
Call Envoi_mail
ou encore : court-circuite carrément MailAuto et, dans VBS, écris donc directement :
oxl.run "Envoi_mail"

Car (et bien que tu ne le précises pas) il me faut supposer de Envoi_Mail est une macro de ton classeur. Si tel n'était pas le cas, j'aurais les plus grandes difficultés à comprendre ton :
Wk.save
alors qu'aucune autre opération n'est faite dans ce classeur.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend

Merci ucfoutu 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
2
Date d'inscription
samedi 21 mars 2015
Dernière intervention
21 mars 2015
0
Merci
Hello ucfoutu,
Je suis parti sur la 3ème solution : j'ai laissé ma macro Excel comme elle était, c'est à dire protégée par un mot de passe (ce qui évite aux 30 utilisateurs de l'exécuter par erreur...!), et j'ai transformé ma macro "Sub Envoi_mail" en "Function Envoi_mail".

Ainsi, personne ne peut lancer la "Function" dans Excel, et je peux seul lancer l'envoi de mail via VBS avec oxl.run "Envoi_mail".

Merci pour l'idée qui a résolu mon problème!
Commenter la réponse de janigrel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.