Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Emplacement du code

7 réponses
Avatar
Patrick Bastard
Bonjour à tou(te)s

Je l'ai dit hier, et je m'y tiens, je profite de mes vacances bien(?)
méritées pour explorer VBA.
Vaste tâche...
J'aurais peut-être dû poser plus de 15 jours.
"Les questions /réponses/conseils du forum, et les liens qui s'y "promènent"
(j'ai bien écrit Liens, Jceel, pas Chiens), ainsi que Excel et VBA" de
Mikaël Bidaut me sont d'un précieux secours.
Quand écrit-on le code dans une feuille (feuil1), dans le classeur
(ThisWorkbook), dans un module ?
Cette question car je me suis aperçu qu'une procédure Function devait être
écrite dans un module pour être disponible, alors qu'une procédure Sub
écrite dans ThisWorkbook fonctionne.
Merci à tous pour vos réponses /pistes

Bien cordialement,
--
=====================================
Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net

7 réponses

Avatar
Josie Dethiers
Les modules (feuilles de code) "Microsoft Excel Objects" contiennent des
procédures événementielles qui s'exécutent automatiquement lorsque un
événement spécial se produit (ouverture, enregistrement, fermeture d'un
classeur ; clic ou saisie d'informations sur une feuille, etc.).

Par exemple, si vous voulez écrire du code qui s'exécutera automatiquement à
la fermeture du classeur :
1. Double-cliquez sur "ThisWorkbook" dans la fenêtre de projet pour
afficher la fenêtre du module correspondant.
2. Sélectionnez "Workbook" dans la liste de gauche au-dessus de la feuille
de module (où il y a écrit "General")
Une première procédure est créée ainsi :
-------------------------------------
Private Sub Workbook_Open()

End Sub
--------------------------------------
3. Sélectionnez "BeforeClose" dans la liste de droite au-dessus de la
feuille de module (où il y a écrit "Declarations")
Une seconde procédure est créée ainsi :
-------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub
-------------------------------------
4. Il ne vous reste qu'à créer le code pour cette procédure qui s'exécutera
automatiquement à chaque fermeture du classeur.

Hope it helps,
Josie

"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de news:

Bonjour à tou(te)s

Je l'ai dit hier, et je m'y tiens, je profite de mes vacances bien(?)
méritées pour explorer VBA.
Vaste tâche...
J'aurais peut-être dû poser plus de 15 jours.
"Les questions /réponses/conseils du forum, et les liens qui s'y
"promènent"

(j'ai bien écrit Liens, Jceel, pas Chiens), ainsi que Excel et VBA" de
Mikaël Bidaut me sont d'un précieux secours.
Quand écrit-on le code dans une feuille (feuil1), dans le classeur
(ThisWorkbook), dans un module ?
Cette question car je me suis aperçu qu'une procédure Function devait être
écrite dans un module pour être disponible, alors qu'une procédure Sub
écrite dans ThisWorkbook fonctionne.
Merci à tous pour vos réponses /pistes

Bien cordialement,
--
==================================== > Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net





Avatar
sabatier
avec une josie, ça vaut le coup de ne rien comprendre....
jps

Patrick Bastard a écrit:
Merci, Josie.

d'avoir pris la peine de répondre.
Celà répond en partie à ma question.
Sur ce, belle nuit à toutes et à tous, et faites de beaux rêves.


bien cordialement,
==================================== > Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net

"Josie Dethiers @bft.fr>" <jdethiers<'nospam'> a écrit dans le message de
news:bi09v4$dp4$

Les modules (feuilles de code) "Microsoft Excel Objects" contiennent des
procédures événementielles qui s'exécutent automatiquement lorsque un
événement spécial se produit (ouverture, enregistrement, fermeture d'un
classeur ; clic ou saisie d'informations sur une feuille, etc.).

Par exemple, si vous voulez écrire du code qui s'exécutera automatiquement


à

la fermeture du classeur :
1. Double-cliquez sur "ThisWorkbook" dans la fenêtre de projet pour
afficher la fenêtre du module correspondant.
2. Sélectionnez "Workbook" dans la liste de gauche au-dessus de la


feuille

de module (où il y a écrit "General")
Une première procédure est créée ainsi :
-------------------------------------
Private Sub Workbook_Open()

End Sub
--------------------------------------
3. Sélectionnez "BeforeClose" dans la liste de droite au-dessus de la
feuille de module (où il y a écrit "Declarations")
Une seconde procédure est créée ainsi :
-------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub
-------------------------------------
4. Il ne vous reste qu'à créer le code pour cette procédure qui


s'exécutera

automatiquement à chaque fermeture du classeur.

Hope it helps,
Josie

"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de news:


Bonjour à tou(te)s

Je l'ai dit hier, et je m'y tiens, je profite de mes vacances bien(?)
méritées pour explorer VBA.
Vaste tâche...
J'aurais peut-être dû poser plus de 15 jours.
"Les questions /réponses/conseils du forum, et les liens qui s'y


"promènent"

(j'ai bien écrit Liens, Jceel, pas Chiens), ainsi que Excel et VBA" de
Mikaël Bidaut me sont d'un précieux secours.
Quand écrit-on le code dans une feuille (feuil1), dans le classeur
(ThisWorkbook), dans un module ?
Cette question car je me suis aperçu qu'une procédure Function devait


être


écrite dans un module pour être disponible, alors qu'une procédure Sub
écrite dans ThisWorkbook fonctionne.
Merci à tous pour vos réponses /pistes

Bien cordialement,
--
==================================== >>>Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net













Avatar
Clément Marcotte
Bonjour,

Quand écrit-on le code dans une feuille (feuil1), dans le classeur
(ThisWorkbook), dans un module ?


Ces deux types de modules sont là pour surveiller un certain nombre
d'événements potentiels, et d'exécuter une/des procédure(s) si
l'événement voulu survient.

Les modules de feuilles servent pour gérer les événements spécifiques
à chaque feuille du classeur. Cela signifie donc que tu peux
surveiller des événements différents d'une feuille à l'autre.
Inversement, si tu veux surveiller le même événement dans plusieurs
feuilles, tu dois mettre ta procédure dans toutes les feuilles en
cause.

Le module du classeur sert à réagir à tout événement supporté qui
surviendrait n'importe où dans les classeur.

D'ailleurs, si tu vérifies les événements supportés au niveau du
classeur et ceux supportés au niveau des feuilles, tu vas voir des
différences.


Cette question car je me suis aperçu qu'une procédure Function
devait être

écrite dans un module pour être disponible, alors qu'une procédure
Sub

écrite dans ThisWorkbook fonctionne.


C'est tout à fait normal. Une procédure Function() ne peut que
retourner une valeur, et non agir sur l'interface du programme. Par
contre, tu peux appeler ta procédure Function() à partir d'une sub().

Avatar
Patrick Bastard
Bonjour, Clément,


et ...Merci. C'est on ne peut plus clair.
J'y retourne et je reviens vous voir dès que je (dé) bloque.

Bien cordialement,
==================================== Pour me contacter, remplacez "Chez" par @ dans l'adresse



"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Quand écrit-on le code dans une feuille (feuil1), dans le classeur
(ThisWorkbook), dans un module ?


Ces deux types de modules sont là pour surveiller un certain nombre
d'événements potentiels, et d'exécuter une/des procédure(s) si
l'événement voulu survient.

Les modules de feuilles servent pour gérer les événements spécifiques
à chaque feuille du classeur. Cela signifie donc que tu peux
surveiller des événements différents d'une feuille à l'autre.
Inversement, si tu veux surveiller le même événement dans plusieurs
feuilles, tu dois mettre ta procédure dans toutes les feuilles en
cause.

Le module du classeur sert à réagir à tout événement supporté qui
surviendrait n'importe où dans les classeur.

D'ailleurs, si tu vérifies les événements supportés au niveau du
classeur et ceux supportés au niveau des feuilles, tu vas voir des
différences.


Cette question car je me suis aperçu qu'une procédure Function
devait être

écrite dans un module pour être disponible, alors qu'une procédure
Sub

écrite dans ThisWorkbook fonctionne.


C'est tout à fait normal. Une procédure Function() ne peut que
retourner une valeur, et non agir sur l'interface du programme. Par
contre, tu peux appeler ta procédure Function() à partir d'une sub().





Avatar
Josie Dethiers
Comment ça, "avec une josie" ? Vous en avez d'autres en stock ?

Josie,
a.k.a. Big J

"sabatier" a écrit dans le message de news:

avec une josie, ça vaut le coup de ne rien comprendre....
jps

Patrick Bastard a écrit:
Merci, Josie.

d'avoir pris la peine de répondre.
Celà répond en partie à ma question.
Sur ce, belle nuit à toutes et à tous, et faites de beaux rêves.


bien cordialement,
==================================== > > Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net

"Josie Dethiers @bft.fr>" <jdethiers<'nospam'> a écrit dans le message
de


news:bi09v4$dp4$

Les modules (feuilles de code) "Microsoft Excel Objects" contiennent des
procédures événementielles qui s'exécutent automatiquement lorsque un
événement spécial se produit (ouverture, enregistrement, fermeture d'un
classeur ; clic ou saisie d'informations sur une feuille, etc.).

Par exemple, si vous voulez écrire du code qui s'exécutera
automatiquement




à

la fermeture du classeur :
1. Double-cliquez sur "ThisWorkbook" dans la fenêtre de projet pour
afficher la fenêtre du module correspondant.
2. Sélectionnez "Workbook" dans la liste de gauche au-dessus de la


feuille

de module (où il y a écrit "General")
Une première procédure est créée ainsi :
-------------------------------------
Private Sub Workbook_Open()

End Sub
--------------------------------------
3. Sélectionnez "BeforeClose" dans la liste de droite au-dessus de la
feuille de module (où il y a écrit "Declarations")
Une seconde procédure est créée ainsi :
-------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub
-------------------------------------
4. Il ne vous reste qu'à créer le code pour cette procédure qui


s'exécutera

automatiquement à chaque fermeture du classeur.

Hope it helps,
Josie

"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news:





Bonjour à tou(te)s

Je l'ai dit hier, et je m'y tiens, je profite de mes vacances bien(?)
méritées pour explorer VBA.
Vaste tâche...
J'aurais peut-être dû poser plus de 15 jours.
"Les questions /réponses/conseils du forum, et les liens qui s'y


"promènent"

(j'ai bien écrit Liens, Jceel, pas Chiens), ainsi que Excel et VBA" de
Mikaël Bidaut me sont d'un précieux secours.
Quand écrit-on le code dans une feuille (feuil1), dans le classeur
(ThisWorkbook), dans un module ?
Cette question car je me suis aperçu qu'une procédure Function devait


être


écrite dans un module pour être disponible, alors qu'une procédure Sub
écrite dans ThisWorkbook fonctionne.
Merci à tous pour vos réponses /pistes

Bien cordialement,
--
==================================== > >>>Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net
















Avatar
sabatier
ben oui mais josie pas le dire....
et c'est quoi ce a.k.a etc....? serait-ce un code pour te différencier
des
autres josies?
à suivre
jps


"Josie Dethiers

Comment ça, "avec une josie" ? Vous en avez d'autres en stock ?

Josie,
a.k.a. Big J

"sabatier" a écrit dans le message de news:

avec une josie, ça vaut le coup de ne rien comprendre....
jps

Patrick Bastard a écrit:
Merci, Josie.

d'avoir pris la peine de répondre.
Celà répond en partie à ma question.
Sur ce, belle nuit à toutes et à tous, et faites de beaux rêves.


bien cordialement,
==================================== > > > Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net

"Josie Dethiers @bft.fr>" <jdethiers<'nospam'> a écrit dans le message
de


news:bi09v4$dp4$

Les modules (feuilles de code) "Microsoft Excel Objects" contiennent des
procédures événementielles qui s'exécutent automatiquement lorsque un
événement spécial se produit (ouverture, enregistrement, fermeture d'un
classeur ; clic ou saisie d'informations sur une feuille, etc.).

Par exemple, si vous voulez écrire du code qui s'exécutera
automatiquement




à

la fermeture du classeur :
1. Double-cliquez sur "ThisWorkbook" dans la fenêtre de projet pour
afficher la fenêtre du module correspondant.
2. Sélectionnez "Workbook" dans la liste de gauche au-dessus de la


feuille

de module (où il y a écrit "General")
Une première procédure est créée ainsi :
-------------------------------------
Private Sub Workbook_Open()

End Sub
--------------------------------------
3. Sélectionnez "BeforeClose" dans la liste de droite au-dessus de la
feuille de module (où il y a écrit "Declarations")
Une seconde procédure est créée ainsi :
-------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub
-------------------------------------
4. Il ne vous reste qu'à créer le code pour cette procédure qui


s'exécutera

automatiquement à chaque fermeture du classeur.

Hope it helps,
Josie

"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news:





Bonjour à tou(te)s

Je l'ai dit hier, et je m'y tiens, je profite de mes vacances bien(?)
méritées pour explorer VBA.
Vaste tâche...
J'aurais peut-être dû poser plus de 15 jours.
"Les questions /réponses/conseils du forum, et les liens qui s'y


"promènent"

(j'ai bien écrit Liens, Jceel, pas Chiens), ainsi que Excel et VBA" de
Mikaël Bidaut me sont d'un précieux secours.
Quand écrit-on le code dans une feuille (feuil1), dans le classeur
(ThisWorkbook), dans un module ?
Cette question car je me suis aperçu qu'une procédure Function devait


être


écrite dans un module pour être disponible, alors qu'une procédure Sub
écrite dans ThisWorkbook fonctionne.
Merci à tous pour vos réponses /pistes

Bien cordialement,
--
==================================== > > >>>Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net


















Avatar
Josie Dethiers
a.k.a. = "Also Known As" (autrement dit: alias) mais c'était pour rire.
Pour rétablir ma majuscule (big J).
Mais je dois avouer que moi-même je l'utilise de moins en moins cette
majuscule. Flemme d'utiliser la touche shift.


"sabatier" a écrit dans le message de news:

ben oui mais josie pas le dire....
et c'est quoi ce a.k.a etc....? serait-ce un code pour te différencier
des
autres josies?
à suivre
jps


"Josie Dethiers

Comment ça, "avec une josie" ? Vous en avez d'autres en stock ?

Josie,
a.k.a. Big J

"sabatier" a écrit dans le message de news:

avec une josie, ça vaut le coup de ne rien comprendre....
jps

Patrick Bastard a écrit:
Merci, Josie.

d'avoir pris la peine de répondre.
Celà répond en partie à ma question.
Sur ce, belle nuit à toutes et à tous, et faites de beaux rêves.


bien cordialement,
==================================== > > > > Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net

"Josie Dethiers @bft.fr>" <jdethiers<'nospam'> a écrit dans le
message




de
news:bi09v4$dp4$

Les modules (feuilles de code) "Microsoft Excel Objects" contiennent
des





procédures événementielles qui s'exécutent automatiquement lorsque
un





événement spécial se produit (ouverture, enregistrement, fermeture
d'un





classeur ; clic ou saisie d'informations sur une feuille, etc.).

Par exemple, si vous voulez écrire du code qui s'exécutera
automatiquement




à

la fermeture du classeur :
1. Double-cliquez sur "ThisWorkbook" dans la fenêtre de projet
pour





afficher la fenêtre du module correspondant.
2. Sélectionnez "Workbook" dans la liste de gauche au-dessus de la


feuille

de module (où il y a écrit "General")
Une première procédure est créée ainsi :
-------------------------------------
Private Sub Workbook_Open()

End Sub
--------------------------------------
3. Sélectionnez "BeforeClose" dans la liste de droite au-dessus de
la





feuille de module (où il y a écrit "Declarations")
Une seconde procédure est créée ainsi :
-------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub
-------------------------------------
4. Il ne vous reste qu'à créer le code pour cette procédure qui


s'exécutera

automatiquement à chaque fermeture du classeur.

Hope it helps,
Josie

"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news:





Bonjour à tou(te)s

Je l'ai dit hier, et je m'y tiens, je profite de mes vacances
bien(?)






méritées pour explorer VBA.
Vaste tâche...
J'aurais peut-être dû poser plus de 15 jours.
"Les questions /réponses/conseils du forum, et les liens qui s'y


"promènent"

(j'ai bien écrit Liens, Jceel, pas Chiens), ainsi que Excel et VBA"
de






Mikaël Bidaut me sont d'un précieux secours.
Quand écrit-on le code dans une feuille (feuil1), dans le classeur
(ThisWorkbook), dans un module ?
Cette question car je me suis aperçu qu'une procédure Function
devait







être


écrite dans un module pour être disponible, alors qu'une procédure
Sub






écrite dans ThisWorkbook fonctionne.
Merci à tous pour vos réponses /pistes

Bien cordialement,
--
==================================== > > > >>>Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net