Comment distinguer ouverture Manuelle et Auto d'un fichier

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
 
E

EricS

Guest
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
 
B

Ben

Guest
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
 
D

David2

Guest
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,
 

Discussions similaires

Réponses
36
Affichages
2 K

Statistiques des forums

Discussions
314 162
Messages
2 106 604
Membres
109 639
dernier inscrit
Phil1860