Bonjour à tous.
Toujours dans mes procédures événementielles, j'ai un soucis pour adapter la
macro de Pierre (en fin de message) à mon cas.
Mon classeur comporte plusieurs onglets, et je souhaite masquer certains
éléments (barres d'outils dans cet exemple) sur des onglets précis (pas
tous, ce qui m'empêche de mettre cette procédure dans ThisWorkbook).
Je rencontre les problèmes suivants :
Macro dans une feuille :
1° - ça fonctionne tant que je reste dans le même classeur, les barres
d'outil disparaissent de cette feuille, et réapparaissent quand j'en
sélectionne une autre.
2° - ça ne fonctionne plus quand 2 classeurs sont ouverts et que je passe de
l'un à l'autre.
Macro dans plusieurs feuilles :
3° - ça ne fonctionne plus.
Les questions que je me pose peuvent vous apparaitre basiques, et je m'en
excuse, mais comment s'enchainent les activations-désactivations de feuilles
?
Passer d'une feuille à une autre feuille, ou à la feuille d'un autre
classeur, n'est-ce pas désactitvation de l'ancienne feuille, puis activation
d'une nouvelle?
Merci d'avance de tout éclaircissement que vous voudrez bien m'apporter.
Bonjour à tous.
Toujours dans mes procédures événementielles, j'ai un soucis pour adapter la
macro de Pierre (en fin de message) à mon cas.
Mon classeur comporte plusieurs onglets, et je souhaite masquer certains
éléments (barres d'outils dans cet exemple) sur des onglets précis (pas
tous, ce qui m'empêche de mettre cette procédure dans ThisWorkbook).
Je rencontre les problèmes suivants :
Macro dans une feuille :
1° - ça fonctionne tant que je reste dans le même classeur, les barres
d'outil disparaissent de cette feuille, et réapparaissent quand j'en
sélectionne une autre.
2° - ça ne fonctionne plus quand 2 classeurs sont ouverts et que je passe de
l'un à l'autre.
Macro dans plusieurs feuilles :
3° - ça ne fonctionne plus.
Les questions que je me pose peuvent vous apparaitre basiques, et je m'en
excuse, mais comment s'enchainent les activations-désactivations de feuilles
?
Passer d'une feuille à une autre feuille, ou à la feuille d'un autre
classeur, n'est-ce pas désactitvation de l'ancienne feuille, puis activation
d'une nouvelle?
Merci d'avance de tout éclaircissement que vous voudrez bien m'apporter.
Bonjour à tous.
Toujours dans mes procédures événementielles, j'ai un soucis pour adapter la
macro de Pierre (en fin de message) à mon cas.
Mon classeur comporte plusieurs onglets, et je souhaite masquer certains
éléments (barres d'outils dans cet exemple) sur des onglets précis (pas
tous, ce qui m'empêche de mettre cette procédure dans ThisWorkbook).
Je rencontre les problèmes suivants :
Macro dans une feuille :
1° - ça fonctionne tant que je reste dans le même classeur, les barres
d'outil disparaissent de cette feuille, et réapparaissent quand j'en
sélectionne une autre.
2° - ça ne fonctionne plus quand 2 classeurs sont ouverts et que je passe de
l'un à l'autre.
Macro dans plusieurs feuilles :
3° - ça ne fonctionne plus.
Les questions que je me pose peuvent vous apparaitre basiques, et je m'en
excuse, mais comment s'enchainent les activations-désactivations de feuilles
?
Passer d'une feuille à une autre feuille, ou à la feuille d'un autre
classeur, n'est-ce pas désactitvation de l'ancienne feuille, puis activation
d'une nouvelle?
Merci d'avance de tout éclaircissement que vous voudrez bien m'apporter.
bonjour,
visiblement non. Passer d'une feuille à une autre c'est bien
désactiver la 1ere pour activer l'autre quand l'évenement se produit
dans le même classeur.
Quand on passe d'une feuille d'un classeur à une autre feuille d'un
autre classeur ou d'une fenêtre à une autre dans un même classeur p.e
ces sont les evenements workbook_Deactivate ou Window_Deactivate qui
ont lieu ( d'ailleurs le 2eme avant le 1er très exactement si on
change de classeur et qu'on a mis un Window_Deactivate et un
workbook_Deactivate).
Le + simple pour résoudre ton problème est sans doute d'utiliser un
module de classe dans lequel tu déclarerais dans des evemements
d'application , tes modifications de barre d'outils. Pour ce faire, il
te faudra bien sur discriminer sur quels fichiers et/ou quelles
feuilles ( par workbooks("X").name et sheets("X").name ou
activeworkbook et activesheet) tu veux que s'appliquent tes
evenements.
je pense que tu sais construire un module de classe comme celui-ci
mais si ce n'est pas le cas, reviens sur le forum ou va sur Excelabo.
Il me semble qu'il y a au moins 1 exemple.
Enfin, je n'ai peut-être pas compris ta demande mais si c'est le cas,
je pense que tu me le feras savoir.
A+Bonjour à tous.
Toujours dans mes procédures événementielles, j'ai un soucis pour
adapter la macro de Pierre (en fin de message) à mon cas.
Mon classeur comporte plusieurs onglets, et je souhaite masquer
certains éléments (barres d'outils dans cet exemple) sur des onglets
précis (pas tous, ce qui m'empêche de mettre cette procédure dans
ThisWorkbook). Je rencontre les problèmes suivants :
Macro dans une feuille :
1° - ça fonctionne tant que je reste dans le même classeur, les
barres d'outil disparaissent de cette feuille, et réapparaissent
quand j'en sélectionne une autre.
2° - ça ne fonctionne plus quand 2 classeurs sont ouverts et que je
passe de l'un à l'autre.
Macro dans plusieurs feuilles :
3° - ça ne fonctionne plus.
Les questions que je me pose peuvent vous apparaitre basiques, et je
m'en excuse, mais comment s'enchainent les
activations-désactivations de feuilles ?
Passer d'une feuille à une autre feuille, ou à la feuille d'un autre
classeur, n'est-ce pas désactitvation de l'ancienne feuille, puis
activation d'une nouvelle?
Merci d'avance de tout éclaircissement que vous voudrez bien
m'apporter.
bonjour,
visiblement non. Passer d'une feuille à une autre c'est bien
désactiver la 1ere pour activer l'autre quand l'évenement se produit
dans le même classeur.
Quand on passe d'une feuille d'un classeur à une autre feuille d'un
autre classeur ou d'une fenêtre à une autre dans un même classeur p.e
ces sont les evenements workbook_Deactivate ou Window_Deactivate qui
ont lieu ( d'ailleurs le 2eme avant le 1er très exactement si on
change de classeur et qu'on a mis un Window_Deactivate et un
workbook_Deactivate).
Le + simple pour résoudre ton problème est sans doute d'utiliser un
module de classe dans lequel tu déclarerais dans des evemements
d'application , tes modifications de barre d'outils. Pour ce faire, il
te faudra bien sur discriminer sur quels fichiers et/ou quelles
feuilles ( par workbooks("X").name et sheets("X").name ou
activeworkbook et activesheet) tu veux que s'appliquent tes
evenements.
je pense que tu sais construire un module de classe comme celui-ci
mais si ce n'est pas le cas, reviens sur le forum ou va sur Excelabo.
Il me semble qu'il y a au moins 1 exemple.
Enfin, je n'ai peut-être pas compris ta demande mais si c'est le cas,
je pense que tu me le feras savoir.
A+
Bonjour à tous.
Toujours dans mes procédures événementielles, j'ai un soucis pour
adapter la macro de Pierre (en fin de message) à mon cas.
Mon classeur comporte plusieurs onglets, et je souhaite masquer
certains éléments (barres d'outils dans cet exemple) sur des onglets
précis (pas tous, ce qui m'empêche de mettre cette procédure dans
ThisWorkbook). Je rencontre les problèmes suivants :
Macro dans une feuille :
1° - ça fonctionne tant que je reste dans le même classeur, les
barres d'outil disparaissent de cette feuille, et réapparaissent
quand j'en sélectionne une autre.
2° - ça ne fonctionne plus quand 2 classeurs sont ouverts et que je
passe de l'un à l'autre.
Macro dans plusieurs feuilles :
3° - ça ne fonctionne plus.
Les questions que je me pose peuvent vous apparaitre basiques, et je
m'en excuse, mais comment s'enchainent les
activations-désactivations de feuilles ?
Passer d'une feuille à une autre feuille, ou à la feuille d'un autre
classeur, n'est-ce pas désactitvation de l'ancienne feuille, puis
activation d'une nouvelle?
Merci d'avance de tout éclaircissement que vous voudrez bien
m'apporter.
bonjour,
visiblement non. Passer d'une feuille à une autre c'est bien
désactiver la 1ere pour activer l'autre quand l'évenement se produit
dans le même classeur.
Quand on passe d'une feuille d'un classeur à une autre feuille d'un
autre classeur ou d'une fenêtre à une autre dans un même classeur p.e
ces sont les evenements workbook_Deactivate ou Window_Deactivate qui
ont lieu ( d'ailleurs le 2eme avant le 1er très exactement si on
change de classeur et qu'on a mis un Window_Deactivate et un
workbook_Deactivate).
Le + simple pour résoudre ton problème est sans doute d'utiliser un
module de classe dans lequel tu déclarerais dans des evemements
d'application , tes modifications de barre d'outils. Pour ce faire, il
te faudra bien sur discriminer sur quels fichiers et/ou quelles
feuilles ( par workbooks("X").name et sheets("X").name ou
activeworkbook et activesheet) tu veux que s'appliquent tes
evenements.
je pense que tu sais construire un module de classe comme celui-ci
mais si ce n'est pas le cas, reviens sur le forum ou va sur Excelabo.
Il me semble qu'il y a au moins 1 exemple.
Enfin, je n'ai peut-être pas compris ta demande mais si c'est le cas,
je pense que tu me le feras savoir.
A+Bonjour à tous.
Toujours dans mes procédures événementielles, j'ai un soucis pour
adapter la macro de Pierre (en fin de message) à mon cas.
Mon classeur comporte plusieurs onglets, et je souhaite masquer
certains éléments (barres d'outils dans cet exemple) sur des onglets
précis (pas tous, ce qui m'empêche de mettre cette procédure dans
ThisWorkbook). Je rencontre les problèmes suivants :
Macro dans une feuille :
1° - ça fonctionne tant que je reste dans le même classeur, les
barres d'outil disparaissent de cette feuille, et réapparaissent
quand j'en sélectionne une autre.
2° - ça ne fonctionne plus quand 2 classeurs sont ouverts et que je
passe de l'un à l'autre.
Macro dans plusieurs feuilles :
3° - ça ne fonctionne plus.
Les questions que je me pose peuvent vous apparaitre basiques, et je
m'en excuse, mais comment s'enchainent les
activations-désactivations de feuilles ?
Passer d'une feuille à une autre feuille, ou à la feuille d'un autre
classeur, n'est-ce pas désactitvation de l'ancienne feuille, puis
activation d'une nouvelle?
Merci d'avance de tout éclaircissement que vous voudrez bien
m'apporter.
bonjour,
visiblement non. Passer d'une feuille à une autre c'est bien
désactiver la 1ere pour activer l'autre quand l'évenement se produit
dans le même classeur.
Quand on passe d'une feuille d'un classeur à une autre feuille d'un
autre classeur ou d'une fenêtre à une autre dans un même classeur
p.e ces sont les evenements workbook_Deactivate ou Window_Deactivate
qui ont lieu ( d'ailleurs le 2eme avant le 1er très exactement si on
change de classeur et qu'on a mis un Window_Deactivate et un
workbook_Deactivate).
Le + simple pour résoudre ton problème est sans doute d'utiliser un
module de classe dans lequel tu déclarerais dans des evemements
d'application , tes modifications de barre d'outils. Pour ce faire,
il te faudra bien sur discriminer sur quels fichiers et/ou quelles
feuilles ( par workbooks("X").name et sheets("X").name ou
activeworkbook et activesheet) tu veux que s'appliquent tes
evenements.
je pense que tu sais construire un module de classe comme celui-ci
mais si ce n'est pas le cas, reviens sur le forum ou va sur Excelabo.
Il me semble qu'il y a au moins 1 exemple.
Enfin, je n'ai peut-être pas compris ta demande mais si c'est le cas,
je pense que tu me le feras savoir.
A+Bonjour à tous.
Toujours dans mes procédures événementielles, j'ai un soucis pour
adapter la macro de Pierre (en fin de message) à mon cas.
Mon classeur comporte plusieurs onglets, et je souhaite masquer
certains éléments (barres d'outils dans cet exemple) sur des onglets
précis (pas tous, ce qui m'empêche de mettre cette procédure dans
ThisWorkbook). Je rencontre les problèmes suivants :
Macro dans une feuille :
1° - ça fonctionne tant que je reste dans le même classeur, les
barres d'outil disparaissent de cette feuille, et réapparaissent
quand j'en sélectionne une autre.
2° - ça ne fonctionne plus quand 2 classeurs sont ouverts et que je
passe de l'un à l'autre.
Macro dans plusieurs feuilles :
3° - ça ne fonctionne plus.
Les questions que je me pose peuvent vous apparaitre basiques, et je
m'en excuse, mais comment s'enchainent les
activations-désactivations de feuilles ?
Passer d'une feuille à une autre feuille, ou à la feuille d'un autre
classeur, n'est-ce pas désactitvation de l'ancienne feuille, puis
activation d'une nouvelle?
Merci d'avance de tout éclaircissement que vous voudrez bien
m'apporter.
bonjour,
visiblement non. Passer d'une feuille à une autre c'est bien
désactiver la 1ere pour activer l'autre quand l'évenement se produit
dans le même classeur.
Quand on passe d'une feuille d'un classeur à une autre feuille d'un
autre classeur ou d'une fenêtre à une autre dans un même classeur
p.e ces sont les evenements workbook_Deactivate ou Window_Deactivate
qui ont lieu ( d'ailleurs le 2eme avant le 1er très exactement si on
change de classeur et qu'on a mis un Window_Deactivate et un
workbook_Deactivate).
Le + simple pour résoudre ton problème est sans doute d'utiliser un
module de classe dans lequel tu déclarerais dans des evemements
d'application , tes modifications de barre d'outils. Pour ce faire,
il te faudra bien sur discriminer sur quels fichiers et/ou quelles
feuilles ( par workbooks("X").name et sheets("X").name ou
activeworkbook et activesheet) tu veux que s'appliquent tes
evenements.
je pense que tu sais construire un module de classe comme celui-ci
mais si ce n'est pas le cas, reviens sur le forum ou va sur Excelabo.
Il me semble qu'il y a au moins 1 exemple.
Enfin, je n'ai peut-être pas compris ta demande mais si c'est le cas,
je pense que tu me le feras savoir.
A+
Bonjour à tous.
Toujours dans mes procédures événementielles, j'ai un soucis pour
adapter la macro de Pierre (en fin de message) à mon cas.
Mon classeur comporte plusieurs onglets, et je souhaite masquer
certains éléments (barres d'outils dans cet exemple) sur des onglets
précis (pas tous, ce qui m'empêche de mettre cette procédure dans
ThisWorkbook). Je rencontre les problèmes suivants :
Macro dans une feuille :
1° - ça fonctionne tant que je reste dans le même classeur, les
barres d'outil disparaissent de cette feuille, et réapparaissent
quand j'en sélectionne une autre.
2° - ça ne fonctionne plus quand 2 classeurs sont ouverts et que je
passe de l'un à l'autre.
Macro dans plusieurs feuilles :
3° - ça ne fonctionne plus.
Les questions que je me pose peuvent vous apparaitre basiques, et je
m'en excuse, mais comment s'enchainent les
activations-désactivations de feuilles ?
Passer d'une feuille à une autre feuille, ou à la feuille d'un autre
classeur, n'est-ce pas désactitvation de l'ancienne feuille, puis
activation d'une nouvelle?
Merci d'avance de tout éclaircissement que vous voudrez bien
m'apporter.
bonjour,
visiblement non. Passer d'une feuille à une autre c'est bien
désactiver la 1ere pour activer l'autre quand l'évenement se produit
dans le même classeur.
Quand on passe d'une feuille d'un classeur à une autre feuille d'un
autre classeur ou d'une fenêtre à une autre dans un même classeur
p.e ces sont les evenements workbook_Deactivate ou Window_Deactivate
qui ont lieu ( d'ailleurs le 2eme avant le 1er très exactement si on
change de classeur et qu'on a mis un Window_Deactivate et un
workbook_Deactivate).
Le + simple pour résoudre ton problème est sans doute d'utiliser un
module de classe dans lequel tu déclarerais dans des evemements
d'application , tes modifications de barre d'outils. Pour ce faire,
il te faudra bien sur discriminer sur quels fichiers et/ou quelles
feuilles ( par workbooks("X").name et sheets("X").name ou
activeworkbook et activesheet) tu veux que s'appliquent tes
evenements.
je pense que tu sais construire un module de classe comme celui-ci
mais si ce n'est pas le cas, reviens sur le forum ou va sur Excelabo.
Il me semble qu'il y a au moins 1 exemple.
Enfin, je n'ai peut-être pas compris ta demande mais si c'est le cas,
je pense que tu me le feras savoir.
A+Bonjour à tous.
Toujours dans mes procédures événementielles, j'ai un soucis pour
adapter la macro de Pierre (en fin de message) à mon cas.
Mon classeur comporte plusieurs onglets, et je souhaite masquer
certains éléments (barres d'outils dans cet exemple) sur des onglets
précis (pas tous, ce qui m'empêche de mettre cette procédure dans
ThisWorkbook). Je rencontre les problèmes suivants :
Macro dans une feuille :
1° - ça fonctionne tant que je reste dans le même classeur, les
barres d'outil disparaissent de cette feuille, et réapparaissent
quand j'en sélectionne une autre.
2° - ça ne fonctionne plus quand 2 classeurs sont ouverts et que je
passe de l'un à l'autre.
Macro dans plusieurs feuilles :
3° - ça ne fonctionne plus.
Les questions que je me pose peuvent vous apparaitre basiques, et je
m'en excuse, mais comment s'enchainent les
activations-désactivations de feuilles ?
Passer d'une feuille à une autre feuille, ou à la feuille d'un autre
classeur, n'est-ce pas désactitvation de l'ancienne feuille, puis
activation d'une nouvelle?
Merci d'avance de tout éclaircissement que vous voudrez bien
m'apporter.
re- Bonjour, *anonymousA* .
En fin de compte, et si j'ai bien compris,
- je définis la liste des feuilles concernées comme une nouvelle
classe - collection-
- et je peux affecter, par exemple, des procédures événementielles à
cette collection ?
C'est ce que j'ai cru comprendre en lisant -en diagonale-la
définition de Laurent 4 pen sur Excelabo et de Daniel MAHER dans son
classeur moduleclasse.xls, téléchargé au même endroit (merci à eux
deux, et bien sûr à misange).
Il me reste un jour de RTT et le WE pour assimiler tout ça.
Encore merci pour ta piste.
PS: anonymousA et anomymousA sont ils une seule et même personne ?bonjour,
visiblement non. Passer d'une feuille à une autre c'est bien
désactiver la 1ere pour activer l'autre quand l'évenement se produit
dans le même classeur.
Quand on passe d'une feuille d'un classeur à une autre feuille d'un
autre classeur ou d'une fenêtre à une autre dans un même classeur
p.e ces sont les evenements workbook_Deactivate ou Window_Deactivate
qui ont lieu ( d'ailleurs le 2eme avant le 1er très exactement si on
change de classeur et qu'on a mis un Window_Deactivate et un
workbook_Deactivate).
Le + simple pour résoudre ton problème est sans doute d'utiliser un
module de classe dans lequel tu déclarerais dans des evemements
d'application , tes modifications de barre d'outils. Pour ce faire,
il te faudra bien sur discriminer sur quels fichiers et/ou quelles
feuilles ( par workbooks("X").name et sheets("X").name ou
activeworkbook et activesheet) tu veux que s'appliquent tes
evenements.
je pense que tu sais construire un module de classe comme celui-ci
mais si ce n'est pas le cas, reviens sur le forum ou va sur
Excelabo. Il me semble qu'il y a au moins 1 exemple.
Enfin, je n'ai peut-être pas compris ta demande mais si c'est le
cas, je pense que tu me le feras savoir.
A+Bonjour à tous.
Toujours dans mes procédures événementielles, j'ai un soucis pour
adapter la macro de Pierre (en fin de message) à mon cas.
Mon classeur comporte plusieurs onglets, et je souhaite masquer
certains éléments (barres d'outils dans cet exemple) sur des
onglets précis (pas tous, ce qui m'empêche de mettre cette
procédure dans ThisWorkbook). Je rencontre les problèmes suivants :
Macro dans une feuille :
1° - ça fonctionne tant que je reste dans le même classeur, les
barres d'outil disparaissent de cette feuille, et réapparaissent
quand j'en sélectionne une autre.
2° - ça ne fonctionne plus quand 2 classeurs sont ouverts et que je
passe de l'un à l'autre.
Macro dans plusieurs feuilles :
3° - ça ne fonctionne plus.
Les questions que je me pose peuvent vous apparaitre basiques, et
je m'en excuse, mais comment s'enchainent les
activations-désactivations de feuilles ?
Passer d'une feuille à une autre feuille, ou à la feuille d'un
autre classeur, n'est-ce pas désactitvation de l'ancienne feuille,
puis activation d'une nouvelle?
Merci d'avance de tout éclaircissement que vous voudrez bien
m'apporter.
re- Bonjour, *anonymousA* .
En fin de compte, et si j'ai bien compris,
- je définis la liste des feuilles concernées comme une nouvelle
classe - collection-
- et je peux affecter, par exemple, des procédures événementielles à
cette collection ?
C'est ce que j'ai cru comprendre en lisant -en diagonale-la
définition de Laurent 4 pen sur Excelabo et de Daniel MAHER dans son
classeur moduleclasse.xls, téléchargé au même endroit (merci à eux
deux, et bien sûr à misange).
Il me reste un jour de RTT et le WE pour assimiler tout ça.
Encore merci pour ta piste.
PS: anonymousA et anomymousA sont ils une seule et même personne ?
bonjour,
visiblement non. Passer d'une feuille à une autre c'est bien
désactiver la 1ere pour activer l'autre quand l'évenement se produit
dans le même classeur.
Quand on passe d'une feuille d'un classeur à une autre feuille d'un
autre classeur ou d'une fenêtre à une autre dans un même classeur
p.e ces sont les evenements workbook_Deactivate ou Window_Deactivate
qui ont lieu ( d'ailleurs le 2eme avant le 1er très exactement si on
change de classeur et qu'on a mis un Window_Deactivate et un
workbook_Deactivate).
Le + simple pour résoudre ton problème est sans doute d'utiliser un
module de classe dans lequel tu déclarerais dans des evemements
d'application , tes modifications de barre d'outils. Pour ce faire,
il te faudra bien sur discriminer sur quels fichiers et/ou quelles
feuilles ( par workbooks("X").name et sheets("X").name ou
activeworkbook et activesheet) tu veux que s'appliquent tes
evenements.
je pense que tu sais construire un module de classe comme celui-ci
mais si ce n'est pas le cas, reviens sur le forum ou va sur
Excelabo. Il me semble qu'il y a au moins 1 exemple.
Enfin, je n'ai peut-être pas compris ta demande mais si c'est le
cas, je pense que tu me le feras savoir.
A+
Bonjour à tous.
Toujours dans mes procédures événementielles, j'ai un soucis pour
adapter la macro de Pierre (en fin de message) à mon cas.
Mon classeur comporte plusieurs onglets, et je souhaite masquer
certains éléments (barres d'outils dans cet exemple) sur des
onglets précis (pas tous, ce qui m'empêche de mettre cette
procédure dans ThisWorkbook). Je rencontre les problèmes suivants :
Macro dans une feuille :
1° - ça fonctionne tant que je reste dans le même classeur, les
barres d'outil disparaissent de cette feuille, et réapparaissent
quand j'en sélectionne une autre.
2° - ça ne fonctionne plus quand 2 classeurs sont ouverts et que je
passe de l'un à l'autre.
Macro dans plusieurs feuilles :
3° - ça ne fonctionne plus.
Les questions que je me pose peuvent vous apparaitre basiques, et
je m'en excuse, mais comment s'enchainent les
activations-désactivations de feuilles ?
Passer d'une feuille à une autre feuille, ou à la feuille d'un
autre classeur, n'est-ce pas désactitvation de l'ancienne feuille,
puis activation d'une nouvelle?
Merci d'avance de tout éclaircissement que vous voudrez bien
m'apporter.
re- Bonjour, *anonymousA* .
En fin de compte, et si j'ai bien compris,
- je définis la liste des feuilles concernées comme une nouvelle
classe - collection-
- et je peux affecter, par exemple, des procédures événementielles à
cette collection ?
C'est ce que j'ai cru comprendre en lisant -en diagonale-la
définition de Laurent 4 pen sur Excelabo et de Daniel MAHER dans son
classeur moduleclasse.xls, téléchargé au même endroit (merci à eux
deux, et bien sûr à misange).
Il me reste un jour de RTT et le WE pour assimiler tout ça.
Encore merci pour ta piste.
PS: anonymousA et anomymousA sont ils une seule et même personne ?bonjour,
visiblement non. Passer d'une feuille à une autre c'est bien
désactiver la 1ere pour activer l'autre quand l'évenement se produit
dans le même classeur.
Quand on passe d'une feuille d'un classeur à une autre feuille d'un
autre classeur ou d'une fenêtre à une autre dans un même classeur
p.e ces sont les evenements workbook_Deactivate ou Window_Deactivate
qui ont lieu ( d'ailleurs le 2eme avant le 1er très exactement si on
change de classeur et qu'on a mis un Window_Deactivate et un
workbook_Deactivate).
Le + simple pour résoudre ton problème est sans doute d'utiliser un
module de classe dans lequel tu déclarerais dans des evemements
d'application , tes modifications de barre d'outils. Pour ce faire,
il te faudra bien sur discriminer sur quels fichiers et/ou quelles
feuilles ( par workbooks("X").name et sheets("X").name ou
activeworkbook et activesheet) tu veux que s'appliquent tes
evenements.
je pense que tu sais construire un module de classe comme celui-ci
mais si ce n'est pas le cas, reviens sur le forum ou va sur
Excelabo. Il me semble qu'il y a au moins 1 exemple.
Enfin, je n'ai peut-être pas compris ta demande mais si c'est le
cas, je pense que tu me le feras savoir.
A+Bonjour à tous.
Toujours dans mes procédures événementielles, j'ai un soucis pour
adapter la macro de Pierre (en fin de message) à mon cas.
Mon classeur comporte plusieurs onglets, et je souhaite masquer
certains éléments (barres d'outils dans cet exemple) sur des
onglets précis (pas tous, ce qui m'empêche de mettre cette
procédure dans ThisWorkbook). Je rencontre les problèmes suivants :
Macro dans une feuille :
1° - ça fonctionne tant que je reste dans le même classeur, les
barres d'outil disparaissent de cette feuille, et réapparaissent
quand j'en sélectionne une autre.
2° - ça ne fonctionne plus quand 2 classeurs sont ouverts et que je
passe de l'un à l'autre.
Macro dans plusieurs feuilles :
3° - ça ne fonctionne plus.
Les questions que je me pose peuvent vous apparaitre basiques, et
je m'en excuse, mais comment s'enchainent les
activations-désactivations de feuilles ?
Passer d'une feuille à une autre feuille, ou à la feuille d'un
autre classeur, n'est-ce pas désactitvation de l'ancienne feuille,
puis activation d'une nouvelle?
Merci d'avance de tout éclaircissement que vous voudrez bien
m'apporter.
re- Bonjour, *anonymousA* .
En fin de compte, et si j'ai bien compris,
- je définis la liste des feuilles concernées comme une nouvelle classe -
collection-
- et je peux affecter, par exemple, des procédures événementielles à cette
collection ?
C'est ce que j'ai cru comprendre en lisant -en diagonale-la définition de
Laurent 4 pen sur Excelabo et de Daniel MAHER dans son classeur
moduleclasse.xls, téléchargé au même endroit (merci à eux deux, et bien sûr
à misange).
Il me reste un jour de RTT et le WE pour assimiler tout ça.
Encore merci pour ta piste.
PS: anonymousA et anomymousA sont ils une seule et même personne ?
re- Bonjour, *anonymousA* .
En fin de compte, et si j'ai bien compris,
- je définis la liste des feuilles concernées comme une nouvelle classe -
collection-
- et je peux affecter, par exemple, des procédures événementielles à cette
collection ?
C'est ce que j'ai cru comprendre en lisant -en diagonale-la définition de
Laurent 4 pen sur Excelabo et de Daniel MAHER dans son classeur
moduleclasse.xls, téléchargé au même endroit (merci à eux deux, et bien sûr
à misange).
Il me reste un jour de RTT et le WE pour assimiler tout ça.
Encore merci pour ta piste.
PS: anonymousA et anomymousA sont ils une seule et même personne ?
re- Bonjour, *anonymousA* .
En fin de compte, et si j'ai bien compris,
- je définis la liste des feuilles concernées comme une nouvelle classe -
collection-
- et je peux affecter, par exemple, des procédures événementielles à cette
collection ?
C'est ce que j'ai cru comprendre en lisant -en diagonale-la définition de
Laurent 4 pen sur Excelabo et de Daniel MAHER dans son classeur
moduleclasse.xls, téléchargé au même endroit (merci à eux deux, et bien sûr
à misange).
Il me reste un jour de RTT et le WE pour assimiler tout ça.
Encore merci pour ta piste.
PS: anonymousA et anomymousA sont ils une seule et même personne ?
oui, c'est bien la même personne. j'ai du me planter une fois sur la
définition de mon nom d'emprunt.
Bon, pour ce qui est de ton problème: si je t'ai proposé un module de
classe , c'est qeu l'avantage quand on a déclaré un objet Application
c'est que celui-ci peut s'appliquer à tout ce qui est ouvert dans la
session Excel en cours. Par exemple:
Dans un module de classe ( que tu crées par Insertion/Module de
Classe)que tu appelleras p.e AppEventClass tu écris:
Public WithEvents Appl As Application
Private Sub Appl_SheetActivate(ByVal Sh As Object)
'cette procédure permet lors de l'activation de n'importe quelle
feuille de n'importe
'quel classeur en cours de faire quelque chose que tu auras décidé,
p.e 'ici t'envoyer un message "Bonjour"
'tu peux discriminer les fichiers ou/et les feuilles sur lesquelles tu
'vas interagir
'p.e, je décide que l'evenement SheetActivate ne sera déclenché que
'sur le fichier qui s'appelle BASTARD et sur la feuille qui s'appelle
'Patrick. En conséquence je vais écrire
set wbk ¬tiveworkbook
Set Sh = ActiveWorkbook.ActiveSheet
if wbk.name="BASTARD" and sh.name="Patrick" then
msgbox "Bonjour"
end if
End Sub
A partir du moment où dans le module de classe tu as fait "pointer"
Appl comme un objet application, tu peux utiliser toutes les méthodes
evenementielles qui s'y référencent ( donc les mêmes que tu porrrrais
trouver dans le module Thisworkbook d'un fichier classique). L'interet
du module de classe c'est que ces procédures s'appliquent à l'ensemble
de la collection des workbooks ouverts dans la session.Il n'est donc
pas nécessaire de définir une nouvelle collection de quoique ce soit.
Excel reconnait qu'il existe une collection de workbooks et une
collection de sheets dans chaque workbook.
et dans un module standard du même fichier tu écris
Dim ApplicationClass As New AppEventClass
Private Sub Workbook_Open()
Set ApplicationClass.Appl = Application
End Sub
Je ne sais pas si j'ai été bien clair ? si non, à ta dispo pour des
explications complémentaires sur un sujet dont je reconnais qu'il est
un des + difficiles.
A+re- Bonjour, *anonymousA* .
En fin de compte, et si j'ai bien compris,
- je définis la liste des feuilles concernées comme une nouvelle
classe - collection-
- et je peux affecter, par exemple, des procédures événementielles
à cette collection ?
C'est ce que j'ai cru comprendre en lisant -en diagonale-la
définition de Laurent 4 pen sur Excelabo et de Daniel MAHER dans son
classeur moduleclasse.xls, téléchargé au même endroit (merci à eux
deux, et bien sûr à misange).
Il me reste un jour de RTT et le WE pour assimiler tout ça.
Encore merci pour ta piste.
PS: anonymousA et anomymousA sont ils une seule et même personne ?
oui, c'est bien la même personne. j'ai du me planter une fois sur la
définition de mon nom d'emprunt.
Bon, pour ce qui est de ton problème: si je t'ai proposé un module de
classe , c'est qeu l'avantage quand on a déclaré un objet Application
c'est que celui-ci peut s'appliquer à tout ce qui est ouvert dans la
session Excel en cours. Par exemple:
Dans un module de classe ( que tu crées par Insertion/Module de
Classe)que tu appelleras p.e AppEventClass tu écris:
Public WithEvents Appl As Application
Private Sub Appl_SheetActivate(ByVal Sh As Object)
'cette procédure permet lors de l'activation de n'importe quelle
feuille de n'importe
'quel classeur en cours de faire quelque chose que tu auras décidé,
p.e 'ici t'envoyer un message "Bonjour"
'tu peux discriminer les fichiers ou/et les feuilles sur lesquelles tu
'vas interagir
'p.e, je décide que l'evenement SheetActivate ne sera déclenché que
'sur le fichier qui s'appelle BASTARD et sur la feuille qui s'appelle
'Patrick. En conséquence je vais écrire
set wbk ¬tiveworkbook
Set Sh = ActiveWorkbook.ActiveSheet
if wbk.name="BASTARD" and sh.name="Patrick" then
msgbox "Bonjour"
end if
End Sub
A partir du moment où dans le module de classe tu as fait "pointer"
Appl comme un objet application, tu peux utiliser toutes les méthodes
evenementielles qui s'y référencent ( donc les mêmes que tu porrrrais
trouver dans le module Thisworkbook d'un fichier classique). L'interet
du module de classe c'est que ces procédures s'appliquent à l'ensemble
de la collection des workbooks ouverts dans la session.Il n'est donc
pas nécessaire de définir une nouvelle collection de quoique ce soit.
Excel reconnait qu'il existe une collection de workbooks et une
collection de sheets dans chaque workbook.
et dans un module standard du même fichier tu écris
Dim ApplicationClass As New AppEventClass
Private Sub Workbook_Open()
Set ApplicationClass.Appl = Application
End Sub
Je ne sais pas si j'ai été bien clair ? si non, à ta dispo pour des
explications complémentaires sur un sujet dont je reconnais qu'il est
un des + difficiles.
A+
re- Bonjour, *anonymousA* .
En fin de compte, et si j'ai bien compris,
- je définis la liste des feuilles concernées comme une nouvelle
classe - collection-
- et je peux affecter, par exemple, des procédures événementielles
à cette collection ?
C'est ce que j'ai cru comprendre en lisant -en diagonale-la
définition de Laurent 4 pen sur Excelabo et de Daniel MAHER dans son
classeur moduleclasse.xls, téléchargé au même endroit (merci à eux
deux, et bien sûr à misange).
Il me reste un jour de RTT et le WE pour assimiler tout ça.
Encore merci pour ta piste.
PS: anonymousA et anomymousA sont ils une seule et même personne ?
oui, c'est bien la même personne. j'ai du me planter une fois sur la
définition de mon nom d'emprunt.
Bon, pour ce qui est de ton problème: si je t'ai proposé un module de
classe , c'est qeu l'avantage quand on a déclaré un objet Application
c'est que celui-ci peut s'appliquer à tout ce qui est ouvert dans la
session Excel en cours. Par exemple:
Dans un module de classe ( que tu crées par Insertion/Module de
Classe)que tu appelleras p.e AppEventClass tu écris:
Public WithEvents Appl As Application
Private Sub Appl_SheetActivate(ByVal Sh As Object)
'cette procédure permet lors de l'activation de n'importe quelle
feuille de n'importe
'quel classeur en cours de faire quelque chose que tu auras décidé,
p.e 'ici t'envoyer un message "Bonjour"
'tu peux discriminer les fichiers ou/et les feuilles sur lesquelles tu
'vas interagir
'p.e, je décide que l'evenement SheetActivate ne sera déclenché que
'sur le fichier qui s'appelle BASTARD et sur la feuille qui s'appelle
'Patrick. En conséquence je vais écrire
set wbk ¬tiveworkbook
Set Sh = ActiveWorkbook.ActiveSheet
if wbk.name="BASTARD" and sh.name="Patrick" then
msgbox "Bonjour"
end if
End Sub
A partir du moment où dans le module de classe tu as fait "pointer"
Appl comme un objet application, tu peux utiliser toutes les méthodes
evenementielles qui s'y référencent ( donc les mêmes que tu porrrrais
trouver dans le module Thisworkbook d'un fichier classique). L'interet
du module de classe c'est que ces procédures s'appliquent à l'ensemble
de la collection des workbooks ouverts dans la session.Il n'est donc
pas nécessaire de définir une nouvelle collection de quoique ce soit.
Excel reconnait qu'il existe une collection de workbooks et une
collection de sheets dans chaque workbook.
et dans un module standard du même fichier tu écris
Dim ApplicationClass As New AppEventClass
Private Sub Workbook_Open()
Set ApplicationClass.Appl = Application
End Sub
Je ne sais pas si j'ai été bien clair ? si non, à ta dispo pour des
explications complémentaires sur un sujet dont je reconnais qu'il est
un des + difficiles.
A+re- Bonjour, *anonymousA* .
En fin de compte, et si j'ai bien compris,
- je définis la liste des feuilles concernées comme une nouvelle
classe - collection-
- et je peux affecter, par exemple, des procédures événementielles
à cette collection ?
C'est ce que j'ai cru comprendre en lisant -en diagonale-la
définition de Laurent 4 pen sur Excelabo et de Daniel MAHER dans son
classeur moduleclasse.xls, téléchargé au même endroit (merci à eux
deux, et bien sûr à misange).
Il me reste un jour de RTT et le WE pour assimiler tout ça.
Encore merci pour ta piste.
PS: anonymousA et anomymousA sont ils une seule et même personne ?
oui, c'est bien la même personne. j'ai du me planter une fois sur la
définition de mon nom d'emprunt.
Bon, pour ce qui est de ton problème: si je t'ai proposé un module de
classe , c'est qeu l'avantage quand on a déclaré un objet Application
c'est que celui-ci peut s'appliquer à tout ce qui est ouvert dans la
session Excel en cours. Par exemple:
Dans un module de classe ( que tu crées par Insertion/Module de
Classe)que tu appelleras p.e AppEventClass tu écris:
Public WithEvents Appl As Application
Private Sub Appl_SheetActivate(ByVal Sh As Object)
'cette procédure permet lors de l'activation de n'importe quelle
feuille de n'importe
'quel classeur en cours de faire quelque chose que tu auras décidé,
p.e 'ici t'envoyer un message "Bonjour"
'tu peux discriminer les fichiers ou/et les feuilles sur lesquelles tu
'vas interagir
'p.e, je décide que l'evenement SheetActivate ne sera déclenché que
'sur le fichier qui s'appelle BASTARD et sur la feuille qui s'appelle
'Patrick. En conséquence je vais écrire
set wbk ¬tiveworkbook
Set Sh = ActiveWorkbook.ActiveSheet
if wbk.name="BASTARD" and sh.name="Patrick" then
msgbox "Bonjour"
end if
End Sub
A partir du moment où dans le module de classe tu as fait "pointer"
Appl comme un objet application, tu peux utiliser toutes les méthodes
evenementielles qui s'y référencent ( donc les mêmes que tu porrrrais
trouver dans le module Thisworkbook d'un fichier classique). L'interet
du module de classe c'est que ces procédures s'appliquent à l'ensemble
de la collection des workbooks ouverts dans la session.Il n'est donc
pas nécessaire de définir une nouvelle collection de quoique ce soit.
Excel reconnait qu'il existe une collection de workbooks et une
collection de sheets dans chaque workbook.
et dans un module standard du même fichier tu écris
Dim ApplicationClass As New AppEventClass
Private Sub Workbook_Open()
Set ApplicationClass.Appl = Application
End Sub
Je ne sais pas si j'ai été bien clair ? si non, à ta dispo pour des
explications complémentaires sur un sujet dont je reconnais qu'il est
un des + difficiles.
A+re- Bonjour, *anonymousA* .
En fin de compte, et si j'ai bien compris,
- je définis la liste des feuilles concernées comme une nouvelle
classe - collection-
- et je peux affecter, par exemple, des procédures événementielles
à cette collection ?
C'est ce que j'ai cru comprendre en lisant -en diagonale-la
définition de Laurent 4 pen sur Excelabo et de Daniel MAHER dans son
classeur moduleclasse.xls, téléchargé au même endroit (merci à eux
deux, et bien sûr à misange).
Il me reste un jour de RTT et le WE pour assimiler tout ça.
Encore merci pour ta piste.
PS: anonymousA et anomymousA sont ils une seule et même personne ?
oui, c'est bien la même personne. j'ai du me planter une fois sur la
définition de mon nom d'emprunt.
Bon, pour ce qui est de ton problème: si je t'ai proposé un module de
classe , c'est qeu l'avantage quand on a déclaré un objet Application
c'est que celui-ci peut s'appliquer à tout ce qui est ouvert dans la
session Excel en cours. Par exemple:
Dans un module de classe ( que tu crées par Insertion/Module de
Classe)que tu appelleras p.e AppEventClass tu écris:
Public WithEvents Appl As Application
Private Sub Appl_SheetActivate(ByVal Sh As Object)
'cette procédure permet lors de l'activation de n'importe quelle
feuille de n'importe
'quel classeur en cours de faire quelque chose que tu auras décidé,
p.e 'ici t'envoyer un message "Bonjour"
'tu peux discriminer les fichiers ou/et les feuilles sur lesquelles tu
'vas interagir
'p.e, je décide que l'evenement SheetActivate ne sera déclenché que
'sur le fichier qui s'appelle BASTARD et sur la feuille qui s'appelle
'Patrick. En conséquence je vais écrire
set wbk ¬tiveworkbook
Set Sh = ActiveWorkbook.ActiveSheet
if wbk.name="BASTARD" and sh.name="Patrick" then
msgbox "Bonjour"
end if
End Sub
A partir du moment où dans le module de classe tu as fait "pointer"
Appl comme un objet application, tu peux utiliser toutes les méthodes
evenementielles qui s'y référencent ( donc les mêmes que tu porrrrais
trouver dans le module Thisworkbook d'un fichier classique). L'interet
du module de classe c'est que ces procédures s'appliquent à l'ensemble
de la collection des workbooks ouverts dans la session.Il n'est donc
pas nécessaire de définir une nouvelle collection de quoique ce soit.
Excel reconnait qu'il existe une collection de workbooks et une
collection de sheets dans chaque workbook.
et dans un module standard du même fichier tu écris
Dim ApplicationClass As New AppEventClass
Private Sub Workbook_Open()
Set ApplicationClass.Appl = Application
End Sub
Je ne sais pas si j'ai été bien clair ? si non, à ta dispo pour des
explications complémentaires sur un sujet dont je reconnais qu'il est
un des + difficiles.
A+
re- Bonjour, *anonymousA* .
En fin de compte, et si j'ai bien compris,
- je définis la liste des feuilles concernées comme une nouvelle
classe - collection-
- et je peux affecter, par exemple, des procédures événementielles
à cette collection ?
C'est ce que j'ai cru comprendre en lisant -en diagonale-la
définition de Laurent 4 pen sur Excelabo et de Daniel MAHER dans son
classeur moduleclasse.xls, téléchargé au même endroit (merci à eux
deux, et bien sûr à misange).
Il me reste un jour de RTT et le WE pour assimiler tout ça.
Encore merci pour ta piste.
PS: anonymousA et anomymousA sont ils une seule et même personne ?
oui, c'est bien la même personne. j'ai du me planter une fois sur la
définition de mon nom d'emprunt.
Bon, pour ce qui est de ton problème: si je t'ai proposé un module de
classe , c'est qeu l'avantage quand on a déclaré un objet Application
c'est que celui-ci peut s'appliquer à tout ce qui est ouvert dans la
session Excel en cours. Par exemple:
Dans un module de classe ( que tu crées par Insertion/Module de
Classe)que tu appelleras p.e AppEventClass tu écris:
Public WithEvents Appl As Application
Private Sub Appl_SheetActivate(ByVal Sh As Object)
'cette procédure permet lors de l'activation de n'importe quelle
feuille de n'importe
'quel classeur en cours de faire quelque chose que tu auras décidé,
p.e 'ici t'envoyer un message "Bonjour"
'tu peux discriminer les fichiers ou/et les feuilles sur lesquelles tu
'vas interagir
'p.e, je décide que l'evenement SheetActivate ne sera déclenché que
'sur le fichier qui s'appelle BASTARD et sur la feuille qui s'appelle
'Patrick. En conséquence je vais écrire
set wbk ¬tiveworkbook
Set Sh = ActiveWorkbook.ActiveSheet
if wbk.name="BASTARD" and sh.name="Patrick" then
msgbox "Bonjour"
end if
End Sub
A partir du moment où dans le module de classe tu as fait "pointer"
Appl comme un objet application, tu peux utiliser toutes les méthodes
evenementielles qui s'y référencent ( donc les mêmes que tu porrrrais
trouver dans le module Thisworkbook d'un fichier classique). L'interet
du module de classe c'est que ces procédures s'appliquent à l'ensemble
de la collection des workbooks ouverts dans la session.Il n'est donc
pas nécessaire de définir une nouvelle collection de quoique ce soit.
Excel reconnait qu'il existe une collection de workbooks et une
collection de sheets dans chaque workbook.
et dans un module standard du même fichier tu écris
Dim ApplicationClass As New AppEventClass
Private Sub Workbook_Open()
Set ApplicationClass.Appl = Application
End Sub
Je ne sais pas si j'ai été bien clair ? si non, à ta dispo pour des
explications complémentaires sur un sujet dont je reconnais qu'il est
un des + difficiles.
A+re- Bonjour, *anonymousA* .
En fin de compte, et si j'ai bien compris,
- je définis la liste des feuilles concernées comme une nouvelle
classe - collection-
- et je peux affecter, par exemple, des procédures événementielles
à cette collection ?
C'est ce que j'ai cru comprendre en lisant -en diagonale-la
définition de Laurent 4 pen sur Excelabo et de Daniel MAHER dans son
classeur moduleclasse.xls, téléchargé au même endroit (merci à eux
deux, et bien sûr à misange).
Il me reste un jour de RTT et le WE pour assimiler tout ça.
Encore merci pour ta piste.
PS: anonymousA et anomymousA sont ils une seule et même personne ?
Re-Bonjour, *anonymousA*
Si je puis me permettre d'abuser :
http://cjoint.com/?crwTspKvZQ
Je ne vois pas où j'ai pêché :-(
si tu avais une minute supplémentaire à m'accorder ?
Re-Bonjour, *anonymousA*
Si je puis me permettre d'abuser :
http://cjoint.com/?crwTspKvZQ
Je ne vois pas où j'ai pêché :-(
si tu avais une minute supplémentaire à m'accorder ?
Re-Bonjour, *anonymousA*
Si je puis me permettre d'abuser :
http://cjoint.com/?crwTspKvZQ
Je ne vois pas où j'ai pêché :-(
si tu avais une minute supplémentaire à m'accorder ?
re,
c'est moi qui m'excuse. c'est sur que si je ne donne pas le bon nom (
qui n'est pas BASTARD bien sur mais BASTARD.xls, ca va déjà beaucoup
mieux.J'en ai profité pour te rajouter le même genre de proc pour
l'evenement activate et pour simplifier le code en fonction des
paramètres par défaut (Sh dans Appl_SheetActivate et Wb dans
Appl_WorkbookActivate).
Par ailleurs, le fait de rajouter la proc sur l'evenement
workbookActivate permet aussi à l'ouverture du fichier BASTARD de
tester le coté actif de la feuille Patrick ce que ne peut faire
l'evenement SheetActivate si jamais le classeur s'ouvre sur la
feuille Patrick qui était active lors de la dernière fermeture.
A mettre dans le module de classe :
Public WithEvents Appl As Application
Private Sub Appl_SheetActivate(ByVal Sh As Object)
Set wbk = ActiveWorkbook
If wbk.Name = "BASTARD.xls" And Sh.Name = "Patrick" Then
MsgBox "Bonjour"
End If
End Sub
Private Sub Appl_WorkbookActivate(ByVal Wb As Workbook)
Set Sh = Wb.ActiveSheet
If Wb.Name = "BASTARD.xls" And Sh.Name = "Patrick" Then
MsgBox "Bonjour"
End If
End Sub
Peux te garantir que ca fonctionne. Mais en info ?
A+Re-Bonjour, *anonymousA*
Si je puis me permettre d'abuser :
http://cjoint.com/?crwTspKvZQ
Je ne vois pas où j'ai pêché :-(
si tu avais une minute supplémentaire à m'accorder ?
re,
c'est moi qui m'excuse. c'est sur que si je ne donne pas le bon nom (
qui n'est pas BASTARD bien sur mais BASTARD.xls, ca va déjà beaucoup
mieux.J'en ai profité pour te rajouter le même genre de proc pour
l'evenement activate et pour simplifier le code en fonction des
paramètres par défaut (Sh dans Appl_SheetActivate et Wb dans
Appl_WorkbookActivate).
Par ailleurs, le fait de rajouter la proc sur l'evenement
workbookActivate permet aussi à l'ouverture du fichier BASTARD de
tester le coté actif de la feuille Patrick ce que ne peut faire
l'evenement SheetActivate si jamais le classeur s'ouvre sur la
feuille Patrick qui était active lors de la dernière fermeture.
A mettre dans le module de classe :
Public WithEvents Appl As Application
Private Sub Appl_SheetActivate(ByVal Sh As Object)
Set wbk = ActiveWorkbook
If wbk.Name = "BASTARD.xls" And Sh.Name = "Patrick" Then
MsgBox "Bonjour"
End If
End Sub
Private Sub Appl_WorkbookActivate(ByVal Wb As Workbook)
Set Sh = Wb.ActiveSheet
If Wb.Name = "BASTARD.xls" And Sh.Name = "Patrick" Then
MsgBox "Bonjour"
End If
End Sub
Peux te garantir que ca fonctionne. Mais en info ?
A+
Re-Bonjour, *anonymousA*
Si je puis me permettre d'abuser :
http://cjoint.com/?crwTspKvZQ
Je ne vois pas où j'ai pêché :-(
si tu avais une minute supplémentaire à m'accorder ?
re,
c'est moi qui m'excuse. c'est sur que si je ne donne pas le bon nom (
qui n'est pas BASTARD bien sur mais BASTARD.xls, ca va déjà beaucoup
mieux.J'en ai profité pour te rajouter le même genre de proc pour
l'evenement activate et pour simplifier le code en fonction des
paramètres par défaut (Sh dans Appl_SheetActivate et Wb dans
Appl_WorkbookActivate).
Par ailleurs, le fait de rajouter la proc sur l'evenement
workbookActivate permet aussi à l'ouverture du fichier BASTARD de
tester le coté actif de la feuille Patrick ce que ne peut faire
l'evenement SheetActivate si jamais le classeur s'ouvre sur la
feuille Patrick qui était active lors de la dernière fermeture.
A mettre dans le module de classe :
Public WithEvents Appl As Application
Private Sub Appl_SheetActivate(ByVal Sh As Object)
Set wbk = ActiveWorkbook
If wbk.Name = "BASTARD.xls" And Sh.Name = "Patrick" Then
MsgBox "Bonjour"
End If
End Sub
Private Sub Appl_WorkbookActivate(ByVal Wb As Workbook)
Set Sh = Wb.ActiveSheet
If Wb.Name = "BASTARD.xls" And Sh.Name = "Patrick" Then
MsgBox "Bonjour"
End If
End Sub
Peux te garantir que ca fonctionne. Mais en info ?
A+Re-Bonjour, *anonymousA*
Si je puis me permettre d'abuser :
http://cjoint.com/?crwTspKvZQ
Je ne vois pas où j'ai pêché :-(
si tu avais une minute supplémentaire à m'accorder ?
Bonjour, *anonymousA*
J'ai lu ton post 421532f3$0$823$
avec le plus grand intéret :
Ben décidément, c'est pas ça qu'est ça.
où cloche-je ?
http://cjoint.com/?csmNSvvdt3re,
c'est moi qui m'excuse. c'est sur que si je ne donne pas le bon nom (
qui n'est pas BASTARD bien sur mais BASTARD.xls, ca va déjà beaucoup
mieux.J'en ai profité pour te rajouter le même genre de proc pour
l'evenement activate et pour simplifier le code en fonction des
paramètres par défaut (Sh dans Appl_SheetActivate et Wb dans
Appl_WorkbookActivate).
Par ailleurs, le fait de rajouter la proc sur l'evenement
workbookActivate permet aussi à l'ouverture du fichier BASTARD de
tester le coté actif de la feuille Patrick ce que ne peut faire
l'evenement SheetActivate si jamais le classeur s'ouvre sur la
feuille Patrick qui était active lors de la dernière fermeture.
A mettre dans le module de classe :
Public WithEvents Appl As Application
Private Sub Appl_SheetActivate(ByVal Sh As Object)
Set wbk = ActiveWorkbook
If wbk.Name = "BASTARD.xls" And Sh.Name = "Patrick" Then
MsgBox "Bonjour"
End If
End Sub
Private Sub Appl_WorkbookActivate(ByVal Wb As Workbook)
Set Sh = Wb.ActiveSheet
If Wb.Name = "BASTARD.xls" And Sh.Name = "Patrick" Then
MsgBox "Bonjour"
End If
End Sub
Peux te garantir que ca fonctionne. Mais en info ?
A+Re-Bonjour, *anonymousA*
Si je puis me permettre d'abuser :
http://cjoint.com/?crwTspKvZQ
Je ne vois pas où j'ai pêché :-(
si tu avais une minute supplémentaire à m'accorder ?
Bonjour, *anonymousA*
J'ai lu ton post 421532f3$0$823$8fcfb975@news.wanadoo.fr
avec le plus grand intéret :
Ben décidément, c'est pas ça qu'est ça.
où cloche-je ?
http://cjoint.com/?csmNSvvdt3
re,
c'est moi qui m'excuse. c'est sur que si je ne donne pas le bon nom (
qui n'est pas BASTARD bien sur mais BASTARD.xls, ca va déjà beaucoup
mieux.J'en ai profité pour te rajouter le même genre de proc pour
l'evenement activate et pour simplifier le code en fonction des
paramètres par défaut (Sh dans Appl_SheetActivate et Wb dans
Appl_WorkbookActivate).
Par ailleurs, le fait de rajouter la proc sur l'evenement
workbookActivate permet aussi à l'ouverture du fichier BASTARD de
tester le coté actif de la feuille Patrick ce que ne peut faire
l'evenement SheetActivate si jamais le classeur s'ouvre sur la
feuille Patrick qui était active lors de la dernière fermeture.
A mettre dans le module de classe :
Public WithEvents Appl As Application
Private Sub Appl_SheetActivate(ByVal Sh As Object)
Set wbk = ActiveWorkbook
If wbk.Name = "BASTARD.xls" And Sh.Name = "Patrick" Then
MsgBox "Bonjour"
End If
End Sub
Private Sub Appl_WorkbookActivate(ByVal Wb As Workbook)
Set Sh = Wb.ActiveSheet
If Wb.Name = "BASTARD.xls" And Sh.Name = "Patrick" Then
MsgBox "Bonjour"
End If
End Sub
Peux te garantir que ca fonctionne. Mais en info ?
A+
Re-Bonjour, *anonymousA*
Si je puis me permettre d'abuser :
http://cjoint.com/?crwTspKvZQ
Je ne vois pas où j'ai pêché :-(
si tu avais une minute supplémentaire à m'accorder ?
Bonjour, *anonymousA*
J'ai lu ton post 421532f3$0$823$
avec le plus grand intéret :
Ben décidément, c'est pas ça qu'est ça.
où cloche-je ?
http://cjoint.com/?csmNSvvdt3re,
c'est moi qui m'excuse. c'est sur que si je ne donne pas le bon nom (
qui n'est pas BASTARD bien sur mais BASTARD.xls, ca va déjà beaucoup
mieux.J'en ai profité pour te rajouter le même genre de proc pour
l'evenement activate et pour simplifier le code en fonction des
paramètres par défaut (Sh dans Appl_SheetActivate et Wb dans
Appl_WorkbookActivate).
Par ailleurs, le fait de rajouter la proc sur l'evenement
workbookActivate permet aussi à l'ouverture du fichier BASTARD de
tester le coté actif de la feuille Patrick ce que ne peut faire
l'evenement SheetActivate si jamais le classeur s'ouvre sur la
feuille Patrick qui était active lors de la dernière fermeture.
A mettre dans le module de classe :
Public WithEvents Appl As Application
Private Sub Appl_SheetActivate(ByVal Sh As Object)
Set wbk = ActiveWorkbook
If wbk.Name = "BASTARD.xls" And Sh.Name = "Patrick" Then
MsgBox "Bonjour"
End If
End Sub
Private Sub Appl_WorkbookActivate(ByVal Wb As Workbook)
Set Sh = Wb.ActiveSheet
If Wb.Name = "BASTARD.xls" And Sh.Name = "Patrick" Then
MsgBox "Bonjour"
End If
End Sub
Peux te garantir que ca fonctionne. Mais en info ?
A+Re-Bonjour, *anonymousA*
Si je puis me permettre d'abuser :
http://cjoint.com/?crwTspKvZQ
Je ne vois pas où j'ai pêché :-(
si tu avais une minute supplémentaire à m'accorder ?