Comment intercepter, sous VBA, l'erreur générée par l'ouveture d'un classeur Exc

D

Dan

Guest
Comment intercepter, sous VBA, l'erreur générée par l'ouveture d'un classeur Excel protégé par un mot de passe alors que la tentative d'ouverture s'est faite sans mot de passe.
J'ai essayé par : "On Error Resume next", sans succès, à chaque fois il apparaît la boîte de dialoque correspondante d'Excel et ma routine s'arrête
 
@

@+Thierry

Guest
Salut Dan, Bienvenue

bonsoir les ami(e)s

En testant comme çà j'arrive à récupérer l'erreur et je peux lancer un userform...

En fait je déclenche volontairement l'erreur un tapant un faux mot de passe en VBA... ce qui n'ouvra pas le classeur et fera l'erreur que je récupère avec goto....


Sub testing()
On Error GoTo Sortie
Workbooks.Open "C:\Mes documents\test.xls", 0, , , "toto"
Sortie:
UserForm1 Show
End Sub

à noter le 0 qui en fait signifie de ne pas faire un "UpdateLinks" sans poser la question aussi.

De là je peux avoir un UserForm avec une textbox perso pour saisir le mot de pass....

Aucune idée si cela correspond à ce que tu cherches à faire... Car sinon je pense que tu cherche à craquer le mot de pass, mais pour çà il existe des des "pass partout" ...

Bonne Soirée
@+Thierry
 
D

Dan

Guest
Bonjour et merci Thierry,

En fait, j'essaie de faire une macro pour notre secrétaire pour ouvrir une liste de classeurs EXCEL dont je ne sais pas par avance s'ils sont, ou non, protégés par un mot de passe.
Dans la mesure ou ils sont protégés par un mot de passe, j'aimerais continuer la liste sans me faire jeter par le système comme à l'heure actuelle, à la fin j'afficherai un message mentionnant les classeurs n'ayant pu être ouverts pour cause de protection.

Néanmoins ton histoire de "passe partout" peut m'intéresser également, ou peut-on trouver cela ?
 

Discussions similaires

Statistiques des forums

Discussions
312 193
Messages
2 086 061
Membres
103 110
dernier inscrit
Privé