(vba) événement au chgmt de feuille

Le
j-pascal
Bonsoir,

Est-il possible de déclencher un événement lorsqu'on clique sur un onglet
(pour afficher une nouvelle feuille) ?
En résumé, je voudrais déclencher une procédure dès lors que l'utilisateur
change d'onglet (à limiter aux feuilles 5 à 16, mais j'imagine que le code
sera sur la feuille !).

Merci d'avance pour vos lumières

--
Cordialement @+
JP
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #4750981
Bonjour.
Regarde "Worksheet_activate" dans la feuille ou
Workbook_SheetActivate
dans thisworkbook.
Cordialement.
Daniel
"j-pascal"
Bonsoir,

Est-il possible de déclencher un événement lorsqu'on clique sur un onglet
(pour afficher une nouvelle feuille) ?
En résumé, je voudrais déclencher une procédure dès lors que l'utilisateur
change d'onglet (à limiter aux feuilles 5 à 16, mais j'imagine que le code
sera sur la feuille !).

Merci d'avance pour vos lumières...

--
Cordialement @+
JP


JB
Le #4750971
Bonjour,

Dans ThisWorkBook:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Index >= 5 And Sh.Index <= 16 Then
MsgBox Sh.Name
End If
End Sub

JB

On 10 sep, 18:40, "j-pascal"
Bonsoir,

Est-il possible de déclencher un événement lorsqu'on clique sur un onglet
(pour afficher une nouvelle feuille) ?
En résumé, je voudrais déclencher une procédure dès lors que l' utilisateur
change d'onglet (à limiter aux feuilles 5 à 16, mais j'imagine que le code
sera sur la feuille !).

Merci d'avance pour vos lumières...

--
Cordialement @+
JP


LSteph
Le #4750801
Bonsoir à tous,

Tu ne t'en lasses décidément pas de ce sujet cher J-Pascal

... fichtre !!!

chez moi la feuille d'index 8 est Feuil34
et celle dont le caption est Feuil14 a pour codename Feuil3
sachant que Worksheet(9) est juste avant la feuille que j'insère..
qui devrait être 38 vu qu'il y en a déjà 37 plus 4 graphiques et une
Feuille MacroExcel4 et que dans ma macro j'indique after: Quel sera le nom de celle qui arrivera quand j'aurais changé trois fois
de feuille et où sera-t-elle insérée?

En bref qu'entens tu par 5 à 16 et comment sont rangées tes feuilles,

;o))

Cordialement.

lSteph

Bonsoir,

Est-il possible de déclencher un événement lorsqu'on clique sur un
onglet (pour afficher une nouvelle feuille) ?
En résumé, je voudrais déclencher une procédure dès lors que
l'utilisateur change d'onglet (à limiter aux feuilles 5 à 16, mais
j'imagine que le code sera sur la feuille !).

Merci d'avance pour vos lumières...



LSteph
Le #4750791
Bonjour,

;o)
(il me semblait te l'avoir déjà évoqué)... le déroulant droit en haut du
codemodule Thisworkbook!? Bon, ..faut avoir activé WorkBook dans celui
de gauche

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

End Sub

--
lSteph

Sheet_Activate

Bonsoir,

Est-il possible de déclencher un événement lorsqu'on clique sur un
onglet (pour afficher une nouvelle feuille) ?
En résumé, je voudrais déclencher une procédure dès lors que
l'utilisateur change d'onglet (à limiter aux feuilles 5 à 16, mais
j'imagine que le code sera sur la feuille !).

Merci d'avance pour vos lumières...



j-pascal
Le #4750771
Bonsoir,

Génial ! Merci ++
Et en plus, c'est facile à comprendre :o)
'-------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object) '10/09
If Sh.Index >= 5 And Sh.Index <= 16 Then
'MsgBox Sh.Name
Range("C9").End(xlDown).Offset(1, 0).Select
End If
End Sub
'-------------
Cette réponse fait d'une pierre trois coups... En effet, elle :
- résoud mon pb de "Scroll ..." pour "recentrer mon "tableau" (c'est même
mieux car on sélectionne directement la cellule à saisir) !
- résoud mon pb de "renommage" d'onglet (mon post du 10/09/07 à 20h20) car
si on affiche un msg box (ie) au clic de l'onglet, ça shunte le double-clic
!!

Vraiment content :o) Merci !

JP

"JB"
Bonjour,

Dans ThisWorkBook:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Index >= 5 And Sh.Index <= 16 Then
MsgBox Sh.Name
End If
End Sub

JB

On 10 sep, 18:40, "j-pascal"
Bonsoir,

Est-il possible de déclencher un événement lorsqu'on clique sur un onglet
(pour afficher une nouvelle feuille) ?
En résumé, je voudrais déclencher une procédure dès lors que l'utilisateur
change d'onglet (à limiter aux feuilles 5 à 16, mais j'imagine que le code
sera sur la feuille !).

Merci d'avance pour vos lumières...

--
Cordialement @+
JP


j-pascal
Le #4750761
Bonsoir et ... merci !

JP

"Daniel.C"
Bonjour.
Regarde "Worksheet_activate" dans la feuille ou
Workbook_SheetActivate
dans thisworkbook.
Cordialement.
Daniel
"j-pascal"
Bonsoir,

Est-il possible de déclencher un événement lorsqu'on clique sur un onglet
(pour afficher une nouvelle feuille) ?
En résumé, je voudrais déclencher une procédure dès lors que
l'utilisateur change d'onglet (à limiter aux feuilles 5 à 16, mais
j'imagine que le code sera sur la feuille !).

Merci d'avance pour vos lumières...

--
Cordialement @+
JP






j-pascal
Le #4750741
Bonsoir,

Je prends connaissance de ton msg à l'instant ... et j'avais répondu à JB à
20:49. Je crois que j'ai trouvé la solution ;-) Vive les CodeName(s) :o)

JP

PS : je vais quand-même lire ton msg suivant ;-)

"LSteph"
Bonsoir à tous,

Tu ne t'en lasses décidément pas de ce sujet cher J-Pascal

... fichtre !!!

chez moi la feuille d'index 8 est Feuil34
et celle dont le caption est Feuil14 a pour codename Feuil3
sachant que Worksheet(9) est juste avant la feuille que j'insère..
qui devrait être 38 vu qu'il y en a déjà 37 plus 4 graphiques et une
Feuille MacroExcel4 et que dans ma macro j'indique after: > Quel sera le nom de celle qui arrivera quand j'aurais changé trois fois de
feuille et où sera-t-elle insérée?

En bref qu'entens tu par 5 à 16 et comment sont rangées tes feuilles,

;o))

Cordialement.

lSteph

Bonsoir,

Est-il possible de déclencher un événement lorsqu'on clique sur un onglet
(pour afficher une nouvelle feuille) ?
En résumé, je voudrais déclencher une procédure dès lors que
l'utilisateur change d'onglet (à limiter aux feuilles 5 à 16, mais
j'imagine que le code sera sur la feuille !).

Merci d'avance pour vos lumières...





j-pascal
Le #4750711
Re,

"LSteph"

Bonjour,

;o)
(il me semblait te l'avoir déjà évoqué)... le déroulant droit en haut du
codemodule Thisworkbook!?


Incroyable ! Je n'utilise jamais cette "fenêtre" et ça semble être une mine
! Tout ça à portée de main et je n'en profite pas ?!!
Celui qui m'a expliqué pour la première fois les différentes façon d'appeler
les feuilles a lui aussi (lol) douté de la disponibilité de mes neurones (
;-) ). Je ne fais jamais semblant de comprendre si je n'ai pas compris ...
Mais quand j'ai (enfin) compris, j'ai compris ;-)
Select ... Activate ; Feuil15 (lol) etc.

A bientôt,

Amicalement,

JP

Bon, ..faut avoir activé WorkBook dans celui
de gauche

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

End Sub

--
lSteph

Sheet_Activate

Bonsoir,

Est-il possible de déclencher un événement lorsqu'on clique sur un onglet
(pour afficher une nouvelle feuille) ?
En résumé, je voudrais déclencher une procédure dès lors que
l'utilisateur change d'onglet (à limiter aux feuilles 5 à 16, mais
j'imagine que le code sera sur la feuille !).

Merci d'avance pour vos lumières...





LSteph
Le #4750701
C'est une évidence, le CodeName est ce qu'il y a de plus commode et
a priori de plus sûr, cela fait un moment que j'essaie de t'en
convaincre et en plus tu le sais très bien puisque tu faisais djà
référence au support propsé sur Dévellopez dans un autre post..
Bon , si cela te permet , d'assoir ta conclusion..
pourquoi pas...
@+

Bonsoir,

Je prends connaissance de ton msg à l'instant ... et j'avais répondu à
JB à 20:49. Je crois que j'ai trouvé la solution ;-) Vive les
CodeName(s) :o)

JP

PS : je vais quand-même lire ton msg suivant ;-)

"LSteph"
Bonsoir à tous,

Tu ne t'en lasses décidément pas de ce sujet cher J-Pascal

... fichtre !!!

chez moi la feuille d'index 8 est Feuil34
et celle dont le caption est Feuil14 a pour codename Feuil3
sachant que Worksheet(9) est juste avant la feuille que j'insère..
qui devrait être 38 vu qu'il y en a déjà 37 plus 4 graphiques et une
Feuille MacroExcel4 et que dans ma macro j'indique after: >> Quel sera le nom de celle qui arrivera quand j'aurais changé trois
fois de feuille et où sera-t-elle insérée?

En bref qu'entens tu par 5 à 16 et comment sont rangées tes feuilles,

;o))

Cordialement.

lSteph

Bonsoir,

Est-il possible de déclencher un événement lorsqu'on clique sur un
onglet (pour afficher une nouvelle feuille) ?
En résumé, je voudrais déclencher une procédure dès lors que
l'utilisateur change d'onglet (à limiter aux feuilles 5 à 16, mais
j'imagine que le code sera sur la feuille !).

Merci d'avance pour vos lumières...








j-pascal
Le #4750691
Oups !!
Quand je ferme mon application, toutes les feuilles sont "balayées" pour
être enregistrées en "VeryHidden" (visible si l'utilisateur active les
macros...) ; alors si je laisse un msgbox, je suis obligé de l'acquitter
pour chaque feuille !! C'est plus comique que grave ! Je vais donc conserver
uniquement mon offset ...

A bientôt,

JP

"JB"
Bonjour,

Dans ThisWorkBook:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Index >= 5 And Sh.Index <= 16 Then
MsgBox Sh.Name
End If
End Sub

JB

On 10 sep, 18:40, "j-pascal"
Bonsoir,

Est-il possible de déclencher un événement lorsqu'on clique sur un onglet
(pour afficher une nouvelle feuille) ?
En résumé, je voudrais déclencher une procédure dès lors que l'utilisateur
change d'onglet (à limiter aux feuilles 5 à 16, mais j'imagine que le code
sera sur la feuille !).

Merci d'avance pour vos lumières...

--
Cordialement @+
JP


Publicité
Poster une réponse
Anonyme