OVH Cloud OVH Cloud

Problème de déclenchement de code en VBA

8 réponses
Avatar
Nicolas
Bonjour,

J'aimerais avoir un renseignement. Je souhaite d=E9clencher=20
des proc=E9dures lors de l'ouverture de mon fichier Excel=20
mais je n'y arrive pas. Pourriez vois si ma m=E9thode est=20
correcte.=20

J'ai donc dans mon workbook ceci:

Public Sub Workbook_Open()
Feuil1.LancerProcedure
End Sub

et dans ma feuil1 ceci

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub


MaProcedure1 etc sont en Public
Je n'arrive pas =E0 lancer depuis mon Workbook_Open mes=20
proc=E9dures dans ma feuil1. Je ne vois pas mon erreur.=20
Pourriez vous m'aider SVP. J'ai peut =EAtre oubli=E8 quelque=20
chose !!.

Si je fais ceci dans ma feuil1 en Activate alors cela=20
marche !!.

Sub Worksheet_Activate()
LancerProcedure
End Sub

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

Merci=20

Nicolas

8 réponses

Avatar
Clément Marcotte
Bonjour,

Les modules de feuilles ne peuvent que servir à gérer des événements.

Il faut mettre des procédures dans un ou des modules standards.


"Nicolas" a écrit dans le
message de news:00c701c3a704$6c1a5a40$

Bonjour,

J'aimerais avoir un renseignement. Je souhaite déclencher
des procédures lors de l'ouverture de mon fichier Excel
mais je n'y arrive pas. Pourriez vois si ma méthode est
correcte.

J'ai donc dans mon workbook ceci:

Public Sub Workbook_Open()
Feuil1.LancerProcedure
End Sub

et dans ma feuil1 ceci

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub


MaProcedure1 etc sont en Public
Je n'arrive pas à lancer depuis mon Workbook_Open mes
procédures dans ma feuil1. Je ne vois pas mon erreur.
Pourriez vous m'aider SVP. J'ai peut être oubliè quelque
chose !!.

Si je fais ceci dans ma feuil1 en Activate alors cela
marche !!.

Sub Worksheet_Activate()
LancerProcedure
End Sub

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

Merci

Nicolas
Avatar
Michel Gaboly
Bonsoir,

Le mot clef Public est inutile : une Sub non précédée du
mot clef Private est Public.

Par ailleurs, pourquoi places-tu LancerProcedure()
dans le module de la feuille 1 ? Ces moduules sont
destinés uniquement à gérer les événements de la feuille
(Activate, Deactivete, Change, ...), ce qui ne semble pas
être le cas.

Pour les mêmes raisons les procédures gérant les
événements relatifs au classeur doivent impérativement
être dans le module rattaché au classeur (Thisworkbook)

Transfère LancerProcedure() dans un module standard
sans ni Private, ni Public, et tu pourras y accéder depuis
n'importe quel module du projet :

Dans le module de ThisWorkbook :

Public Sub Workbook_Open()
LancerProcedure ' pas de qualificatif devant
End Sub

Dans un module standard

Sub LancerProcedure()
MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4
End Sub



Bonjour,

J'aimerais avoir un renseignement. Je souhaite déclencher
des procédures lors de l'ouverture de mon fichier Excel
mais je n'y arrive pas. Pourriez vois si ma méthode est
correcte.

J'ai donc dans mon workbook ceci:

Public Sub Workbook_Open()
Feuil1.LancerProcedure
End Sub

et dans ma feuil1 ceci

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

MaProcedure1 etc sont en Public
Je n'arrive pas à lancer depuis mon Workbook_Open mes
procédures dans ma feuil1. Je ne vois pas mon erreur.
Pourriez vous m'aider SVP. J'ai peut être oubliè quelque
chose !!.

Si je fais ceci dans ma feuil1 en Activate alors cela
marche !!.

Sub Worksheet_Activate()
LancerProcedure
End Sub

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

Merci

Nicolas


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
AV
Indépendamment des conseils précédents, ta méthode devrait fonctionner sous
réserve que "Feuil1" soit bien le nom adapté !
Pour le vérifier :
Clic droit sur le nom de l'onglet contenant la proc "Sub LancerProcedure"
(supprimer Public) > visualiser le code > tu dois trouver qque chose comme ça :
Feuil1 (Feuil1) ou Feuil1 (zzzzz) ou Feuil1 (????) ...

AV
Avatar
Nicolas
Bonjour

Merci de ton et de votre aide.

Concernant ton conseil de créer mon code dans un module.
J'ai plusieurs feuilles dans mon fichier Excel. Je peux
donc avoir un module pour l'ensemble du code de la feuil1
puis un autre module pour l'ensemble du code dans feuil2.
Dans mon WorkBook_Open, est il possible de lui dire qu'il
doit aller chercher le code dans ce module avec le nom de
ce code.

Public Sub Workbook_Open()
Module toto LancerProcedure
Module titi LancerProcedure
End Sub

J'espére être compréhensible

Merci de votre aide

Nicolas


-----Message d'origine-----
Bonsoir,

Le mot clef Public est inutile : une Sub non précédée du
mot clef Private est Public.

Par ailleurs, pourquoi places-tu LancerProcedure()
dans le module de la feuille 1 ? Ces moduules sont
destinés uniquement à gérer les événements de la feuille
(Activate, Deactivete, Change, ...), ce qui ne semble pas
être le cas.

Pour les mêmes raisons les procédures gérant les
événements relatifs au classeur doivent impérativement
être dans le module rattaché au classeur (Thisworkbook)

Transfère LancerProcedure() dans un module standard
sans ni Private, ni Public, et tu pourras y accéder depuis
n'importe quel module du projet :

Dans le module de ThisWorkbook :

Public Sub Workbook_Open()
LancerProcedure ' pas de qualificatif devant
End Sub

Dans un module standard

Sub LancerProcedure()
MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4
End Sub



Bonjour,

J'aimerais avoir un renseignement. Je souhaite
déclencher


des procédures lors de l'ouverture de mon fichier Excel
mais je n'y arrive pas. Pourriez vois si ma méthode est
correcte.

J'ai donc dans mon workbook ceci:

Public Sub Workbook_Open()
Feuil1.LancerProcedure
End Sub

et dans ma feuil1 ceci

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

MaProcedure1 etc sont en Public
Je n'arrive pas à lancer depuis mon Workbook_Open mes
procédures dans ma feuil1. Je ne vois pas mon erreur.
Pourriez vous m'aider SVP. J'ai peut être oubliè quelque
chose !!.

Si je fais ceci dans ma feuil1 en Activate alors cela
marche !!.

Sub Worksheet_Activate()
LancerProcedure
End Sub

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

Merci

Nicolas


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.




Avatar
Michel Gaboly
Re,

De rien ;-))

Qu'appelles-tu "code de la feuil1" ? Peux-tu donner un
exemple ?

Est-ce que le traitement à lancer est le même pour
chaque feuille, ou pas du tout ?



Bonjour

Merci de ton et de votre aide.

Concernant ton conseil de créer mon code dans un module.
J'ai plusieurs feuilles dans mon fichier Excel. Je peux
donc avoir un module pour l'ensemble du code de la feuil1
puis un autre module pour l'ensemble du code dans feuil2.
Dans mon WorkBook_Open, est il possible de lui dire qu'il
doit aller chercher le code dans ce module avec le nom de
ce code.

Public Sub Workbook_Open()
Module toto LancerProcedure
Module titi LancerProcedure
End Sub

J'espére être compréhensible

Merci de votre aide

Nicolas

-----Message d'origine-----
Bonsoir,

Le mot clef Public est inutile : une Sub non précédée du
mot clef Private est Public.

Par ailleurs, pourquoi places-tu LancerProcedure()
dans le module de la feuille 1 ? Ces modules sont
destinés uniquement à gérer les événements de la feuille
(Activate, Deactivete, Change, ...), ce qui ne semble pas
être le cas.

Pour les mêmes raisons les procédures gérant les
événements relatifs au classeur doivent impérativement
être dans le module rattaché au classeur (Thisworkbook)

Transfère LancerProcedure() dans un module standard
sans ni Private, ni Public, et tu pourras y accéder depuis
n'importe quel module du projet :

Dans le module de ThisWorkbook :

Public Sub Workbook_Open()
LancerProcedure ' pas de qualificatif devant
End Sub

Dans un module standard

Sub LancerProcedure()
MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4
End Sub



Bonjour,

J'aimerais avoir un renseignement. Je souhaite
déclencher


des procédures lors de l'ouverture de mon fichier Excel
mais je n'y arrive pas. Pourriez vois si ma méthode est
correcte.

J'ai donc dans mon workbook ceci:

Public Sub Workbook_Open()
Feuil1.LancerProcedure
End Sub

et dans ma feuil1 ceci

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

MaProcedure1 etc sont en Public
Je n'arrive pas à lancer depuis mon Workbook_Open mes
procédures dans ma feuil1. Je ne vois pas mon erreur.
Pourriez vous m'aider SVP. J'ai peut être oubliè quelque
chose !!.

Si je fais ceci dans ma feuil1 en Activate alors cela
marche !!.

Sub Worksheet_Activate()
LancerProcedure
End Sub

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

Merci

Nicolas


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com



Avatar
Nicolas
Merci Michel,

Quand je parle de la feuil1 je veux dire le code qui
correspond à l'onglet par exemple Reporting mais pour VBA
c'est Feuil1(REPORTING).

Concernant l'exemple, je suis désolé mais je ne suis pas
sur le bon ordinateur, je ne peux te montrer un exemple.

Dans ma feuil1 j'ai plusieurs procédures. J'ai des
procédures pour récupérer des données depuis Access, j'ai
des pocédures pour le formatage.

J'ai récupéré le nom de mes procédures dans une seule et
je fais appel à cette procédure dans mon Workook_Open.

J'ai utilisé cette technique dans plusieurs feuilles VBA
et j'ai malheureusement des noms de pocédures identiques
dans la feuil1 et la feuil2 par exemple.

Je pense que ma méthode de travail vis à vis de excel
n'est pas bonne. J'aurais peut être du regrouper mes
procédures dans un modules car mon code n'est pas de
l'événementiel.

Est il possible de mettre tout mon code de la Feuil1 dans
un Module puis tout mon code de ma feuil2 dans un autre
Module et faire un appel de ces procédures dans mon
Workbook_Open. qu'est ce que tu en penses?.

Pour faire appel à une procédure dans un module, qu'elle
syntaxe dois je utiliser. Si dans deux modules, j'ai le
même nom pour un procédure. Comment dois je faire sans
devoir changer le nom de ma procédure

J'espére être compréhensible.

Nicolas






-----Message d'origine-----
Re,

De rien ;-))

Qu'appelles-tu "code de la feuil1" ? Peux-tu donner un
exemple ?

Est-ce que le traitement à lancer est le même pour
chaque feuille, ou pas du tout ?



Bonjour

Merci de ton et de votre aide.

Concernant ton conseil de créer mon code dans un module.
J'ai plusieurs feuilles dans mon fichier Excel. Je peux
donc avoir un module pour l'ensemble du code de la
feuil1


puis un autre module pour l'ensemble du code dans
feuil2.


Dans mon WorkBook_Open, est il possible de lui dire
qu'il


doit aller chercher le code dans ce module avec le nom
de


ce code.

Public Sub Workbook_Open()
Module toto LancerProcedure
Module titi LancerProcedure
End Sub

J'espére être compréhensible

Merci de votre aide

Nicolas

-----Message d'origine-----
Bonsoir,

Le mot clef Public est inutile : une Sub non précédée
du



mot clef Private est Public.

Par ailleurs, pourquoi places-tu LancerProcedure()
dans le module de la feuille 1 ? Ces modules sont
destinés uniquement à gérer les événements de la
feuille



(Activate, Deactivete, Change, ...), ce qui ne semble
pas



être le cas.

Pour les mêmes raisons les procédures gérant les
événements relatifs au classeur doivent impérativement
être dans le module rattaché au classeur (Thisworkbook)

Transfère LancerProcedure() dans un module standard
sans ni Private, ni Public, et tu pourras y accéder
depuis



n'importe quel module du projet :

Dans le module de ThisWorkbook :

Public Sub Workbook_Open()
LancerProcedure ' pas de qualificatif devant
End Sub

Dans un module standard

Sub LancerProcedure()
MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4
End Sub



Bonjour,

J'aimerais avoir un renseignement. Je souhaite
déclencher


des procédures lors de l'ouverture de mon fichier
Excel




mais je n'y arrive pas. Pourriez vois si ma méthode
est




correcte.

J'ai donc dans mon workbook ceci:

Public Sub Workbook_Open()
Feuil1.LancerProcedure
End Sub

et dans ma feuil1 ceci

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

MaProcedure1 etc sont en Public
Je n'arrive pas à lancer depuis mon Workbook_Open mes
procédures dans ma feuil1. Je ne vois pas mon erreur.
Pourriez vous m'aider SVP. J'ai peut être oubliè
quelque




chose !!.

Si je fais ceci dans ma feuil1 en Activate alors cela
marche !!.

Sub Worksheet_Activate()
LancerProcedure
End Sub

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

Merci

Nicolas


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.






Avatar
Michel Gaboly
Re,

De rien ;-))

Private Sub Workbook_Open()
Feuil1.MaProc
Feuil2.MaProc
End Sub

Effectivement, ce serait plus propre de transférer le code
des différentes feuilles dans un module standard (ou
plusieurs modules si les lignes de codes sont très nom-
breuses).

Tu pourrais d'ailleurs créer autant de modules que de feuil-
les et les nommer M1, M2, ... en reprenant la numérotations
des feuilles et mettre dans chaque module le code destiné à la
feuille correspondante, ce qui résoudrait tes conflits de noms.

Les modules standards présentent des avantages, comme la
possibilité de définir des variables Public, ce qui n'est pas
fonctionnel dans un module de feuille (ou de UserForm).

Par ailleurs, bien souvent une partie du code sert pour
plusieurs feuilles. Cela ne sert à rien d'avoir ce code plu-
sieurs fois dans le projet.

Enfin, le fait de limiter les modules de feuille à ce qui est
événementiel améliore la lisibilité du code : il est plus
facile de voir quels événements sont gérés, et de trouver le
code correspondant.


Merci Michel,

Quand je parle de la feuil1 je veux dire le code qui
correspond à l'onglet par exemple Reporting mais pour VBA
c'est Feuil1(REPORTING).

Concernant l'exemple, je suis désolé mais je ne suis pas
sur le bon ordinateur, je ne peux te montrer un exemple.

Dans ma feuil1 j'ai plusieurs procédures. J'ai des
procédures pour récupérer des données depuis Access, j'ai
des pocédures pour le formatage.

J'ai récupéré le nom de mes procédures dans une seule et
je fais appel à cette procédure dans mon Workook_Open.

J'ai utilisé cette technique dans plusieurs feuilles VBA
et j'ai malheureusement des noms de pocédures identiques
dans la feuil1 et la feuil2 par exemple.

Je pense que ma méthode de travail vis à vis de excel
n'est pas bonne. J'aurais peut être du regrouper mes
procédures dans un modules car mon code n'est pas de
l'événementiel.

Est il possible de mettre tout mon code de la Feuil1 dans
un Module puis tout mon code de ma feuil2 dans un autre
Module et faire un appel de ces procédures dans mon
Workbook_Open. qu'est ce que tu en penses?.

Pour faire appel à une procédure dans un module, qu'elle
syntaxe dois je utiliser. Si dans deux modules, j'ai le
même nom pour un procédure. Comment dois je faire sans
devoir changer le nom de ma procédure

J'espére être compréhensible.

Nicolas


-----Message d'origine-----
Re,

De rien ;-))

Qu'appelles-tu "code de la feuil1" ? Peux-tu donner un
exemple ?

Est-ce que le traitement à lancer est le même pour
chaque feuille, ou pas du tout ?



Bonjour

Merci de ton et de votre aide.

Concernant ton conseil de créer mon code dans un module.
J'ai plusieurs feuilles dans mon fichier Excel. Je peux
donc avoir un module pour l'ensemble du code de la
feuil1


puis un autre module pour l'ensemble du code dans
feuil2.


Dans mon WorkBook_Open, est il possible de lui dire
qu'il


doit aller chercher le code dans ce module avec le nom
de


ce code.

Public Sub Workbook_Open()
Module toto LancerProcedure
Module titi LancerProcedure
End Sub

J'espére être compréhensible

Merci de votre aide

Nicolas

-----Message d'origine-----
Bonsoir,

Le mot clef Public est inutile : une Sub non précédée
du



mot clef Private est Public.

Par ailleurs, pourquoi places-tu LancerProcedure()
dans le module de la feuille 1 ? Ces modules sont
destinés uniquement à gérer les événements de la
feuille



(Activate, Deactivete, Change, ...), ce qui ne semble
pas



être le cas.

Pour les mêmes raisons les procédures gérant les
événements relatifs au classeur doivent impérativement
être dans le module rattaché au classeur (Thisworkbook)

Transfère LancerProcedure() dans un module standard
sans ni Private, ni Public, et tu pourras y accéder
depuis



n'importe quel module du projet :

Dans le module de ThisWorkbook :

Public Sub Workbook_Open()
LancerProcedure ' pas de qualificatif devant
End Sub

Dans un module standard

Sub LancerProcedure()
MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4
End Sub



Bonjour,

J'aimerais avoir un renseignement. Je souhaite
déclencher


des procédures lors de l'ouverture de mon fichier
Excel




mais je n'y arrive pas. Pourriez vois si ma méthode
est




correcte.

J'ai donc dans mon workbook ceci:

Public Sub Workbook_Open()
Feuil1.LancerProcedure
End Sub

et dans ma feuil1 ceci

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

MaProcedure1 etc sont en Public
Je n'arrive pas à lancer depuis mon Workbook_Open mes
procédures dans ma feuil1. Je ne vois pas mon erreur.
Pourriez vous m'aider SVP. J'ai peut être oubliè
quelque




chose !!.

Si je fais ceci dans ma feuil1 en Activate alors cela
marche !!.

Sub Worksheet_Activate()
LancerProcedure
End Sub

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

Merci

Nicolas


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Nicolas
Merci Michel pour ces réponses.

Je n'ai plus de question à te demander. Je vais continuer
sur mon projet mais je n'hésiterais pas à revenir si je
bloque.

Bonne après-midi

Merci

nicolas

-----Message d'origine-----
Re,

De rien ;-))

Private Sub Workbook_Open()
Feuil1.MaProc
Feuil2.MaProc
End Sub

Effectivement, ce serait plus propre de transférer le code
des différentes feuilles dans un module standard (ou
plusieurs modules si les lignes de codes sont très nom-
breuses).

Tu pourrais d'ailleurs créer autant de modules que de
feuil-

les et les nommer M1, M2, ... en reprenant la
numérotations

des feuilles et mettre dans chaque module le code destiné
à la

feuille correspondante, ce qui résoudrait tes conflits de
noms.


Les modules standards présentent des avantages, comme la
possibilité de définir des variables Public, ce qui n'est
pas

fonctionnel dans un module de feuille (ou de UserForm).

Par ailleurs, bien souvent une partie du code sert pour
plusieurs feuilles. Cela ne sert à rien d'avoir ce code
plu-

sieurs fois dans le projet.

Enfin, le fait de limiter les modules de feuille à ce qui
est

événementiel améliore la lisibilité du code : il est plus
facile de voir quels événements sont gérés, et de trouver
le

code correspondant.


Merci Michel,

Quand je parle de la feuil1 je veux dire le code qui
correspond à l'onglet par exemple Reporting mais pour
VBA


c'est Feuil1(REPORTING).

Concernant l'exemple, je suis désolé mais je ne suis pas
sur le bon ordinateur, je ne peux te montrer un exemple.

Dans ma feuil1 j'ai plusieurs procédures. J'ai des
procédures pour récupérer des données depuis Access,
j'ai


des pocédures pour le formatage.

J'ai récupéré le nom de mes procédures dans une seule et
je fais appel à cette procédure dans mon Workook_Open.

J'ai utilisé cette technique dans plusieurs feuilles VBA
et j'ai malheureusement des noms de pocédures identiques
dans la feuil1 et la feuil2 par exemple.

Je pense que ma méthode de travail vis à vis de excel
n'est pas bonne. J'aurais peut être du regrouper mes
procédures dans un modules car mon code n'est pas de
l'événementiel.

Est il possible de mettre tout mon code de la Feuil1
dans


un Module puis tout mon code de ma feuil2 dans un autre
Module et faire un appel de ces procédures dans mon
Workbook_Open. qu'est ce que tu en penses?.

Pour faire appel à une procédure dans un module, qu'elle
syntaxe dois je utiliser. Si dans deux modules, j'ai le
même nom pour un procédure. Comment dois je faire sans
devoir changer le nom de ma procédure

J'espére être compréhensible.

Nicolas


-----Message d'origine-----
Re,

De rien ;-))

Qu'appelles-tu "code de la feuil1" ? Peux-tu donner un
exemple ?

Est-ce que le traitement à lancer est le même pour
chaque feuille, ou pas du tout ?



Bonjour

Merci de ton et de votre aide.

Concernant ton conseil de créer mon code dans un
module.




J'ai plusieurs feuilles dans mon fichier Excel. Je
peux




donc avoir un module pour l'ensemble du code de la
feuil1


puis un autre module pour l'ensemble du code dans
feuil2.


Dans mon WorkBook_Open, est il possible de lui dire
qu'il


doit aller chercher le code dans ce module avec le
nom




de
ce code.

Public Sub Workbook_Open()
Module toto LancerProcedure
Module titi LancerProcedure
End Sub

J'espére être compréhensible

Merci de votre aide

Nicolas

-----Message d'origine-----
Bonsoir,

Le mot clef Public est inutile : une Sub non
précédée





du
mot clef Private est Public.

Par ailleurs, pourquoi places-tu LancerProcedure()
dans le module de la feuille 1 ? Ces modules sont
destinés uniquement à gérer les événements de la
feuille



(Activate, Deactivete, Change, ...), ce qui ne
semble





pas
être le cas.

Pour les mêmes raisons les procédures gérant les
événements relatifs au classeur doivent
impérativement





être dans le module rattaché au classeur
(Thisworkbook)






Transfère LancerProcedure() dans un module standard
sans ni Private, ni Public, et tu pourras y accéder
depuis



n'importe quel module du projet :

Dans le module de ThisWorkbook :

Public Sub Workbook_Open()
LancerProcedure ' pas de qualificatif devant
End Sub

Dans un module standard

Sub LancerProcedure()
MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4
End Sub



Bonjour,

J'aimerais avoir un renseignement. Je souhaite
déclencher


des procédures lors de l'ouverture de mon fichier
Excel




mais je n'y arrive pas. Pourriez vois si ma
méthode






est
correcte.

J'ai donc dans mon workbook ceci:

Public Sub Workbook_Open()
Feuil1.LancerProcedure
End Sub

et dans ma feuil1 ceci

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

MaProcedure1 etc sont en Public
Je n'arrive pas à lancer depuis mon Workbook_Open
mes






procédures dans ma feuil1. Je ne vois pas mon
erreur.






Pourriez vous m'aider SVP. J'ai peut être oubliè
quelque




chose !!.

Si je fais ceci dans ma feuil1 en Activate alors
cela






marche !!.

Sub Worksheet_Activate()
LancerProcedure
End Sub

Sub Public LancerProcedure()

MaProcedure1
MaProcedure2
MaProcedure3
MaProcedure4

End Sub

Merci

Nicolas


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.