vba - conflit avec "open" ?

Le
j-pascal
Bonjour,

Que se passe-t-il si on utilise simultanément deux "modes" de lancement
automatique à l'ouverture d'un classeur ?

Soit :

Dans ThisWorkbook : Private Sub Workbook_Open()
+
Dans un module standard : Private Sub auto_open()

Y a-t-il une préséance de l'un sur l'autre ?

Merci pour vos lumières.

JP
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #17909761
Après avoir fait le test (que tu aurais pu faire...), c'est
Workbook_Open qui s'exécute en premier.
Daniel

Bonjour,

Que se passe-t-il si on utilise simultanément deux "modes" de lancement
automatique à l'ouverture d'un classeur ?

Soit :

Dans ThisWorkbook : Private Sub Workbook_Open()
+
Dans un module standard : Private Sub auto_open()

Y a-t-il une préséance de l'un sur l'autre ?

Merci pour vos lumières.

JP


LSteph
Le #17909751
Bonjour,

(nota:dans le standard on ne met pas private)

sinon teste tu verras
ils ne seront pas executés simultanément:

Private Sub Workbook_Open()
MsgBox "c'est moi thisworkbook"
End Sub

Sub auto_open()
MsgBox "c'est moi standard"
End Sub

'ensuite désactive les évennements et refais l'expérience

la différence amha, auto_open est détecté par l'application suite à
l'ouverture d'un classeur indépendamment des evennements.

Workbook_open est un évennement de niveau classeur qui réagit à
l'ouverture de celui-ci.

--
lSteph

j-pascal a écrit :
Bonjour,

Que se passe-t-il si on utilise simultanément deux "modes" de lancement
automatique à l'ouverture d'un classeur ?

Soit :

Dans ThisWorkbook : Private Sub Workbook_Open()
+
Dans un module standard : Private Sub auto_open() '

Y a-t-il une préséance de l'un sur l'autre ?

Merci pour vos lumières.

JP




j-pascal
Le #17910281
Bonsoir Stéphane,

Merci pour ces précisions.
J'utilise (parfois) un "Private" dans le module standard pour que la
macro ne soit pas accessible depuis "Barre d'Outils / Exécutez une
macro" ... Par ailleurs, le fait que ça soit dans le standard met-il à
l'abri d'un lancement intempestif par un autre classeur ayant un nom de
macro similaire ? J'imaginerais même volontiers qu'un code à
l'intérieur d'un module de feuille est plus "protégé" qu'à l'intérieur
d'un module standard ?!

JP

Bonjour,

(nota:dans le standard on ne met pas private)

sinon teste tu verras
ils ne seront pas executés simultanément:

Private Sub Workbook_Open()
MsgBox "c'est moi thisworkbook"
End Sub

Sub auto_open()
MsgBox "c'est moi standard"
End Sub

'ensuite désactive les évennements et refais l'expérience

la différence amha, auto_open est détecté par l'application suite à
l'ouverture d'un classeur indépendamment des evennements.

Workbook_open est un évennement de niveau classeur qui réagit à l'ouverture
de celui-ci.

--
lSteph

j-pascal a écrit :
Bonjour,

Que se passe-t-il si on utilise simultanément deux "modes" de lancement
automatique à l'ouverture d'un classeur ?

Soit :

Dans ThisWorkbook : Private Sub Workbook_Open()
+
Dans un module standard : Private Sub auto_open() '

Y a-t-il une préséance de l'un sur l'autre ?

Merci pour vos lumières.

JP






LSteph
Le #17910271
Oui possible mais c'est juste par principe et c'est dans l'autre sens
que c'est embêtant sinon tu as aussi
Option private module qui va planquer toutes les sub
on ne les voit plus depuis menu macro (mais si tu connais les noms tu
peuxx qd même les executer)



j-pascal a écrit :
Bonsoir Stéphane,

Merci pour ces précisions.
J'utilise (parfois) un "Private" dans le module standard pour que la
macro ne soit pas accessible depuis "Barre d'Outils / Exécutez une
macro" ... Par ailleurs, le fait que ça soit dans le standard met-il à
l'abri d'un lancement intempestif par un autre classeur ayant un nom de
macro similaire ? J'imaginerais même volontiers qu'un code à l'intérieur
d'un module de feuille est plus "protégé" qu'à l'intérieur d'un module
standard ?!

JP

Bonjour,

(nota:dans le standard on ne met pas private)

sinon teste tu verras
ils ne seront pas executés simultanément:

Private Sub Workbook_Open()
MsgBox "c'est moi thisworkbook"
End Sub

Sub auto_open()
MsgBox "c'est moi standard"
End Sub

'ensuite désactive les évennements et refais l'expérience

la différence amha, auto_open est détecté par l'application suite à
l'ouverture d'un classeur indépendamment des evennements.

Workbook_open est un évennement de niveau classeur qui réagit à
l'ouverture de celui-ci.

--
lSteph

j-pascal a écrit :
Bonjour,

Que se passe-t-il si on utilise simultanément deux "modes" de
lancement automatique à l'ouverture d'un classeur ?

Soit :

Dans ThisWorkbook : Private Sub Workbook_Open()
+
Dans un module standard : Private Sub auto_open() '

Y a-t-il une préséance de l'un sur l'autre ?

Merci pour vos lumières.

JP










j-pascal
Le #17935761
Bonsoir Stéphane,

Merci.
Je ne suis pas sûr d'avoir compris comment on pouvait "privatiser" le
module en entier ...

@+
JP

Oui possible mais c'est juste par principe et c'est dans l'autre sens que
c'est embêtant sinon tu as aussi
Option private module qui va planquer toutes les sub
on ne les voit plus depuis menu macro (mais si tu connais les noms tu peuxx
qd même les executer)



j-pascal a écrit :
Bonsoir Stéphane,

Merci pour ces précisions.
J'utilise (parfois) un "Private" dans le module standard pour que la macro
ne soit pas accessible depuis "Barre d'Outils / Exécutez une macro" ... Par
ailleurs, le fait que ça soit dans le standard met-il à l'abri d'un
lancement intempestif par un autre classeur ayant un nom de macro similaire
? J'imaginerais même volontiers qu'un code à l'intérieur d'un module de
feuille est plus "protégé" qu'à l'intérieur d'un module standard ?!

JP

Bonjour,

(nota:dans le standard on ne met pas private)

sinon teste tu verras
ils ne seront pas executés simultanément:

Private Sub Workbook_Open()
MsgBox "c'est moi thisworkbook"
End Sub

Sub auto_open()
MsgBox "c'est moi standard"
End Sub

'ensuite désactive les évennements et refais l'expérience

la différence amha, auto_open est détecté par l'application suite à
l'ouverture d'un classeur indépendamment des evennements.

Workbook_open est un évennement de niveau classeur qui réagit à
l'ouverture de celui-ci.

-- lSteph

j-pascal a écrit :
Bonjour,

Que se passe-t-il si on utilise simultanément deux "modes" de lancement
automatique à l'ouverture d'un classeur ?

Soit :

Dans ThisWorkbook : Private Sub Workbook_Open()
+
Dans un module standard : Private Sub auto_open() '

Y a-t-il une préséance de l'un sur l'autre ?

Merci pour vos lumières.

JP












LSteph
Le #17936421
Bosoir, Jp
Tout en haut de ton module tu mets ceci:

Option private module

Cordialement.

--
lSteph

j-pascal a écrit :
Bonsoir Stéphane,

Merci.
Je ne suis pas sûr d'avoir compris comment on pouvait "privatiser" le
module en entier ...

@+
JP

Oui possible mais c'est juste par principe et c'est dans l'autre sens
que c'est embêtant sinon tu as aussi
Option private module qui va planquer toutes les sub
on ne les voit plus depuis menu macro (mais si tu connais les noms tu
peuxx qd même les executer)



j-pascal a écrit :
Bonsoir Stéphane,

Merci pour ces précisions.
J'utilise (parfois) un "Private" dans le module standard pour que la
macro ne soit pas accessible depuis "Barre d'Outils / Exécutez une
macro" ... Par ailleurs, le fait que ça soit dans le standard met-il
à l'abri d'un lancement intempestif par un autre classeur ayant un
nom de macro similaire ? J'imaginerais même volontiers qu'un code à
l'intérieur d'un module de feuille est plus "protégé" qu'à
l'intérieur d'un module standard ?!

JP

Bonjour,

(nota:dans le standard on ne met pas private)

sinon teste tu verras
ils ne seront pas executés simultanément:

Private Sub Workbook_Open()
MsgBox "c'est moi thisworkbook"
End Sub

Sub auto_open()
MsgBox "c'est moi standard"
End Sub

'ensuite désactive les évennements et refais l'expérience

la différence amha, auto_open est détecté par l'application suite à
l'ouverture d'un classeur indépendamment des evennements.

Workbook_open est un évennement de niveau classeur qui réagit à
l'ouverture de celui-ci.

-- lSteph

j-pascal a écrit :
Bonjour,

Que se passe-t-il si on utilise simultanément deux "modes" de
lancement automatique à l'ouverture d'un classeur ?

Soit :

Dans ThisWorkbook : Private Sub Workbook_Open()
+
Dans un module standard : Private Sub auto_open() '

Y a-t-il une préséance de l'un sur l'autre ?

Merci pour vos lumières.

JP
















j-pascal
Le #17936411
Bonsoir Stéphane,

Merci.

JP

Bosoir, Jp
Tout en haut de ton module tu mets ceci:

Option private module

Cordialement.

--
lSteph

j-pascal a écrit :
Bonsoir Stéphane,

Merci.
Je ne suis pas sûr d'avoir compris comment on pouvait "privatiser" le
module en entier ...

@+
JP

Oui possible mais c'est juste par principe et c'est dans l'autre sens que
c'est embêtant sinon tu as aussi
Option private module qui va planquer toutes les sub
on ne les voit plus depuis menu macro (mais si tu connais les noms tu
peuxx qd même les executer)



j-pascal a écrit :
Bonsoir Stéphane,

Merci pour ces précisions.
J'utilise (parfois) un "Private" dans le module standard pour que la
macro ne soit pas accessible depuis "Barre d'Outils / Exécutez une macro"
... Par ailleurs, le fait que ça soit dans le standard met-il à l'abri
d'un lancement intempestif par un autre classeur ayant un nom de macro
similaire ? J'imaginerais même volontiers qu'un code à l'intérieur d'un
module de feuille est plus "protégé" qu'à l'intérieur d'un module
standard ?!

JP

Bonjour,

(nota:dans le standard on ne met pas private)

sinon teste tu verras
ils ne seront pas executés simultanément:

Private Sub Workbook_Open()
MsgBox "c'est moi thisworkbook"
End Sub

Sub auto_open()
MsgBox "c'est moi standard"
End Sub

'ensuite désactive les évennements et refais l'expérience

la différence amha, auto_open est détecté par l'application suite à
l'ouverture d'un classeur indépendamment des evennements.

Workbook_open est un évennement de niveau classeur qui réagit à
l'ouverture de celui-ci.

-- lSteph

j-pascal a écrit :
Bonjour,

Que se passe-t-il si on utilise simultanément deux "modes" de lancement
automatique à l'ouverture d'un classeur ?

Soit :

Dans ThisWorkbook : Private Sub Workbook_Open()
+
Dans un module standard : Private Sub auto_open() '

Y a-t-il une préséance de l'un sur l'autre ?

Merci pour vos lumières.

JP


















Publicité
Poster une réponse
Anonyme