Ouverture second fichier avec password

doude_cr

XLDnaute Nouveau
Bonjour à tous,

Je n'ai pas trouvé de sujet répondant à mon problème, alors je m'y colle :
(VBA Excel 2003)

Depuis ThisWorkbook, une macro ouvre un autre fichier dans une seconde instance d'Excel, que je garde invisible durant les différentes opérations effectuées jusqu'à sa fermeture.
L'autre fichier Excel affiche une UserForm à l'ouverture, uniquement si son instance Excel est visible : cette astuce me permettait donc d'afficher la userform quand on ouvrait le fichier manuellement, mais ne l'affichait pas quand le fichier était ouvert dans une instance invisible par une macro extérieure.

Pas de problème, jusqu'à ce que l'utilisateur du second fichier y mette un mot de passe (via le menu Outil/Options/Sécurité). C'est donc un mot de passe sur l'ouverture pour la lecture du fichier Excel.

A présent quand je lance ma macro depuis ThisWorkbook, lorsqu'elle ouvre l'autre fichier je dois saisir le mot de passe, puis la UserForm non désirée s'affiche, puis le reste des opérations est effectué correctement.

J'ai donc 2 problèmes :

1) Empecher la UserForm d'apparaître :
Pourquoi s'affiche-t-elle ? La saisie du Password a-t-elle rendue ma seconde instance d'Excel visible ? Comment l'empêcher ? Ou dois-je complètement changer d'astuce pour ne pas l'afficher lorsque le fichier est ouvert par une macro ?

2) Intercepter la demande de mot de passe :
En supposant que l'utilisateur saisisse une fois pour toute son mdp dans une cellule de ThisWorkbook, je n'ai pas trouvé comment ouvrir l'autre fichier par vba en donnant le mdp, de façon à ce que ce soit invisible pour l'utilisateur.
(Je n'ai pas compris l'aide VBA sur "Password", je ne sais même pas si cela répond à mon besoin ...)

Voilà, j'espère avoir été claire et compréhensible ...
Merci d'avance pour vos astuces !

Céline

________________________________________________________________________

Mon code :

Dans un Sub d’un Module de ThisWorkbook :

Code:
‘Ouverture d’une seconde instance d’Excel :
Dim appliExcel As Excel.Application
Set appliExcel = CreateObject("Excel.Application")    'on crée une 2ème appli excel
appliExcel.Visible = False                            'on cache cette nouvelle appli
    
‘Ouverture de l’autre fichier Excel
nomCompletFichierInit = ActiveSheet.Range("I7").Value
Set fichierCRAs = appliExcel.Workbooks.Open(nomCompletFichierInit)
…


Dans l’autre fichier (désigné par ‘fichierCRAs’) dans la feuille "ThisWorkbook" :

Code:
Private Sub Workbook_Open()
    If Excel.Application.Visible = True Then
        AccueilForm.Show
    End If
End Sub
 
Dernière édition:

doude_cr

XLDnaute Nouveau
Re : Ouverture second fichier avec password

Re à tous,

Quelqu'un peut-il m'indiquer comment par macro :
ouvrir le second fichier Excel en lui fournissant le mot de passe (qui serait saisi une fois pour toute au départ par l'utilisateur dans la cellule A1 de ThisWorkbook par exemple).

Merci de votre aide (et de votre patience pour avoir lu mon monologue du post précédent) !
 

doude_cr

XLDnaute Nouveau
Re : Ouverture second fichier avec password

:eek: honte : je ne m'étais même pas doutée que "Workbooks.Open" pouvait avoir plusieurs arguments ... dont Password bien sûr !

> du coup le mot de passe est envoyé automatiquement lors de l'ouverture du fichier

> la UserForm non désirée ne s'affiche plus

:D PROBLEME RESOLU :D
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 310
Messages
2 087 119
Membres
103 478
dernier inscrit
Frederic Lagger