Comment distinguer ouverture Manuelle et Auto d'un fichier

  • Initiateur de la discussion Initiateur de la discussion Ben
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Ben

Guest
Bonjour,
Voici le contexte de ma question.
Je dispose de fichiers excel (2000) avec macro automatique sur évennement open. Cette macro affiche plusieurs boites de dialogue (mots de passe) avant affichage.
J'ai besoin de récupérer les données de ces fichiers par une macro de copie (indépendante) sans être géné par la saisie manuelle des différents mot de passe. J'ai donc besoin de pouvoir différentier les 2 modes d'ouverture de ces fichiers de données.

Question : existe-t-il un moyen de distinguer (en VBA) à l'ouverture d'un fichier, s'il a été ouvert par une action MANUELLE (Fuchier / ouvrir ) ou si c'est une macro qui a demandé l'ouverture du fichier ?

Merci
Ben
 
bonjour,

pas de réponse directe à ta question si ce n'est que tu pourrais vérifier que ton fichier contenant la macro pour la copie est ouvert et dans ce cas ne pas demander les mots de passe

cible = "Classeur3"
mot = "oui"
'MsgBox Windows.Count
For i = 1 To Windows.Count
If Windows(i).Caption = cible Then MsgBox cible & " déjà ouvert": mot="non"
Next
if mot = "oui" then
<<<<demande des mots de passe>>>
end if

A+
Eric
 
Merci pour ta réponse.
C'est une solution de contournement que j'avais envisagée, mais moins élégante qui m'oblige à maîtriser le changement de nom du fichier de copie.
Si je n'en trouve pas d'autre, c'est ce que je ferais.
A++
Ben
 
Bonjour,


exact, si le fichier source est fermé, la variable se libère.

tu pourrais peut-être copier une chaine de caractère bien précise dans le presse-papier (via le fichier source) et vérifier à l'ouverture du fichier de destination si cette chaine existe ?!

style:
range("a1").value="Le fichier peut être ouvert"
range("a1").copy
blablabla...ouverture du fichier...
'''''''sur le fichier N°2'''''''''
range("a1).paste
blablabla....si range("a1") = "Le fichier peut être ouvert".....

c'est pas très esthétique, mais bon

Bonne journée le forum,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Réponses
36
Affichages
2 K
Retour