Macro ne s'exécute pas si autre fichier Excel ouvert

Bonjour à tous,

Je rencontre un problème sur un fichier dans lequel j'ai programmé des mots de passe dans VBA pour accéder à un onglet spécifique.

Si j'ai déjà ouvert un autre fichier excel, lorsque j'ouvre le fichier en question, il arrive qu'il ne me demande pas d'entrer mon mot de passe et j'ai donc accès à tous les onglets.

Comment faire pour que la macro s'exécute tout le temps, qu'il y ait d'autres fichiers ouverts ou non ?

Merci d'avance,

Cloé

Bonjour Cloé,

Un mot magique ActiveWorkbook ?

Maintenant, sans plus d'informations, difficile pour nous de t'apporter une aide adaptée.

Cdlt.

Bonjour,

En fait j'ai une macro "test" qui me demande dès l'ouverture de mon fichier d'entrer un "mot de passe" via une inputbox.

J'ai programmé cette macro dans ThisWorkbook.

Sub ActiveWorkbook_Open()
test
End Sub
Sub test()

nbfeuilles = ThisWorkbook.Sheets.Count

Saisie = InputBox("Tapez votre mot de passe", "identifiant")

Select Case Saisie

   Case ""
        Application.EnableEvents = True
        ThisWorkbook.Save
        ThisWorkbook.Close
        End

Case "motdepasseadmin"
            For i = 1 To nbfeuilles
                ThisWorkbook.Sheets(i).Visible = True
                ThisWorkbook.Sheets(i).Unprotect Password:="motdepasseadmin"
            Next i

Le problème c'est que quand j'ouvre ce fichier alors que j'ai déjà un fichier excel gérant des macros ouvert, le fichier s'ouvre sans me lancer l'inputbox. J'ai donc accès aux onglets qui étaient ouverts lors de la dernière utilisation du fichier.

Peut-on remédier à ca ?

Merci beaucoup,

Cloé

bonjour,

Sub ActiveWorkbook_Open()
test
End Sub

...ne devrait pas exister ! Tu peux la supprimer sans regret.

...et remplace là par cette macro (dans ThisWorkbook) :

Private Sub Workbook_Open()
test
End Sub

A+

Bonjour galopin,

Le soucis c'est que cette macro :

Private Sub Workbook_Open()
test
End Sub

... c'est justement ce que j'avais programmé avant de lire dans le message d'avant qu'il existait "ActiveWorkbook".

Comme j'ai vu que ca ne réglait pas le soucis de mettre "Sub ActiveWorkbook_Open()" j'ai bien remis la macro Workbook_open.

La quand j'ouvre 2 fichiers la macro fonctionne... Mais hier ça ne fonctionnait pas, et certains salariés me disent que parfois ça ne fonctionne pas. Ce n'est même pas toujours à chaque fois c'est ça que je ne comprends pas...

Difficile de comprendre d'où vient le soucis.

Re,

J'ai tenté de remplacer Workbook_open par :

Private Sub Workbook_WindowActivate(ByVal Wn As Window)

En espérant que ca va régler le soucis. Je vous tiens au courant !

Private Sub Workbook_Open() (dans ThisWorkbook) s'exécute toujours. Ne pas croire ce qu'en disent les autres...

Tu n'as pas le droit de modifier cette ligne.

Private Sub Workbook_WindowActivate(ByVal Wn As Window) s'utilise en corrélation avec

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)

Utiliser ces 2 dernières macros ne changera rien à ta problématique si tu ouvres un autre classeur c'est le classeur ouvert et ses propres macros qui prend la main...

Normalement tu ne devrais pas avoir à utiliser ces 2 dernières macros dans cette situation.

...Avec quelques arrières pensées mébon...

A+

Rechercher des sujets similaires à "macro execute pas fichier ouvert"