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

Passage d'un onglet à l'autre ..Lien Hyper ==>Perte de la macro

7 réponses
Avatar
Joël[2]
Bonjour,

J'utilise un lien hypertexte pour passer d'une feuille à l'autre

J'ai sur ma premiere feuille Une sorte de Menu (feuil1) avec :


saisie des Resultats Routes ......: Cliquez içi
Historique des mouvements .....: Cliquez içi

Donc Quand l'utilisateur clique içi Je le dirige sur l'onglet Feuil2 ou
feuil3

Au niveaux des options du classeur ,je masque les onglets (c'est inutile
puisque j'ai des liens et sur chaque feulle un "retour" (lien vers feuil1)

Maintenant mon problème:

Lors de l'ouverture du classeur , j'envoie un message :
MsgBox(Prevention routiere)
Tout va bien

Lors du changement de feuilles (onglets) j'envoie un message:
Private Sub Worksheet_Activate()
MsgBox "Message de Joël :Attention Données provisoires ... "
End Sub
Et là Si j'utilise en bas le changement d'onglet , g bien le message d'info
Mais comme g supprimé cette option d'affichage des onglets Car je passe par
les liens hypertexte

JE n'AI PLUS LE MESSAGE !!

Pouvez vous m'aider à obtenir ce message a chaque changement de Feuilles !

Merci

joël

--
PasdeSpam...Rollier-jo@noos.fr

7 réponses

Avatar
Nicolas B.
Salut Jöel,

Tu peux utiliser l'événement Workbook_SheetFollowHyperlink (dans
ThisWorkbook) :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target
As Hyperlink)
Select Case Target.SubAddress
Case "Feuil2!A1"
MsgBox "Tu vas en 2"
Case "Feuil3!A1"
MsgBox "Tu vas en 3"
End Select
End Sub


A+
--
Nicolas B.


Bonjour,

J'utilise un lien hypertexte pour passer d'une feuille à l'autre

J'ai sur ma premiere feuille Une sorte de Menu (feuil1) avec :


saisie des Resultats Routes ......: Cliquez içi
Historique des mouvements .....: Cliquez içi

Donc Quand l'utilisateur clique içi Je le dirige sur l'onglet
Feuil2 ou feuil3

Au niveaux des options du classeur ,je masque les onglets (c'est
inutile puisque j'ai des liens et sur chaque feulle un "retour" (lien
vers feuil1)

Maintenant mon problème:

Lors de l'ouverture du classeur , j'envoie un message :
MsgBox(Prevention routiere)
Tout va bien

Lors du changement de feuilles (onglets) j'envoie un message:
Private Sub Worksheet_Activate()
MsgBox "Message de Joël :Attention Données provisoires ... "
End Sub
Et là Si j'utilise en bas le changement d'onglet , g bien le message
d'info Mais comme g supprimé cette option d'affichage des onglets Car
je passe par les liens hypertexte

JE n'AI PLUS LE MESSAGE !!

Pouvez vous m'aider à obtenir ce message a chaque changement de
Feuilles !

Merci

joël

--



Avatar
Alain CROS
Bonjour.

Chez moi, l'événement Worksheet_Activate n'est déclanché qu'avec XL2002.
On peut contourner le problème comme ça.

Dans le module de la feuille contenant les liens.
les liens en A1:A2, B1 pris au hasard mais ne comportant pas de lien.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim WS As Worksheet
If Intersect(Target, Range("A1:A2")) Is Nothing Then Exit Sub
If CLng(Left$(Application.Version, 1&)) > 1& Then
If Not ActiveSheet Is Target.Parent Then
Application.EnableEvents = False
Application.ScreenUpdating = False
Set WS = ActiveSheet
With Target.Parent
.Activate
.Range("B1").Select
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
WS.Activate
End If
End If
End Sub'AC

Alain CROS.


"Joël[2]" a écrit dans le message de news:
Bonjour,

J'utilise un lien hypertexte pour passer d'une feuille à l'autre

J'ai sur ma premiere feuille Une sorte de Menu (feuil1) avec :


saisie des Resultats Routes ......: Cliquez içi
Historique des mouvements .....: Cliquez içi

Donc Quand l'utilisateur clique içi Je le dirige sur l'onglet Feuil2 ou
feuil3

Au niveaux des options du classeur ,je masque les onglets (c'est inutile
puisque j'ai des liens et sur chaque feulle un "retour" (lien vers feuil1)

Maintenant mon problème:

Lors de l'ouverture du classeur , j'envoie un message :
MsgBox(Prevention routiere)
Tout va bien

Lors du changement de feuilles (onglets) j'envoie un message:
Private Sub Worksheet_Activate()
MsgBox "Message de Joël :Attention Données provisoires ... "
End Sub
Et là Si j'utilise en bas le changement d'onglet , g bien le message d'info
Mais comme g supprimé cette option d'affichage des onglets Car je passe par
les liens hypertexte

JE n'AI PLUS LE MESSAGE !!

Pouvez vous m'aider à obtenir ce message a chaque changement de Feuilles !

Merci

joël

--





Avatar
Joël[2]
Merci ça marche !

Une question bête (je débute)

Peut on changer des paramètres dans la ligne :
Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As
Hyperlink)

En remplaçant target par exemble par feuil2!A1

Ou doit on obligatoirement passer par Case etc..

Es ce que les lignes de commandes en général Sont modifiables ? Si oui
comment connaitre les champs variables de la commande ?

merci

joël

"Nicolas B." a écrit dans le message de
news: OM#
Salut Jöel,

Tu peux utiliser l'événement Workbook_SheetFollowHyperlink (dans
ThisWorkbook) :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target
As Hyperlink)
Select Case Target.SubAddress
Case "Feuil2!A1"
MsgBox "Tu vas en 2"
Case "Feuil3!A1"
MsgBox "Tu vas en 3"
End Select
End Sub


A+
--
Nicolas B.


Bonjour,

J'utilise un lien hypertexte pour passer d'une feuille à l'autre

J'ai sur ma premiere feuille Une sorte de Menu (feuil1) avec :


saisie des Resultats Routes ......: Cliquez içi
Historique des mouvements .....: Cliquez içi

Donc Quand l'utilisateur clique içi Je le dirige sur l'onglet
Feuil2 ou feuil3

Au niveaux des options du classeur ,je masque les onglets (c'est
inutile puisque j'ai des liens et sur chaque feulle un "retour" (lien
vers feuil1)

Maintenant mon problème:

Lors de l'ouverture du classeur , j'envoie un message :
MsgBox(Prevention routiere)
Tout va bien

Lors du changement de feuilles (onglets) j'envoie un message:
Private Sub Worksheet_Activate()
MsgBox "Message de Joël :Attention Données provisoires ... "
End Sub
Et là Si j'utilise en bas le changement d'onglet , g bien le message
d'info Mais comme g supprimé cette option d'affichage des onglets Car
je passe par les liens hypertexte

JE n'AI PLUS LE MESSAGE !!

Pouvez vous m'aider à obtenir ce message a chaque changement de
Feuilles !

Merci

joël

--







Avatar
Nicolas B.
Peut on changer des paramètres dans la ligne :
Workbook_SheetFollowHyperlink(ByVal ...)
Non, il faut les garder, d'autant plus que tu te sers de Target pour savoir

sur quel lien tu viens de cliquer.

Ou doit on obligatoirement passer par Case etc..
C'est à mon avis le plus simple pour ce cas. Si tu veux par contre

déclencher le msgbox seulement pour un lien (d'adresse Feuil1!A1) :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target
As Hyperlink)
If Target.SubAddress = "Feuil1!A1" Then MsgBox "C'est lui !"
End Sub


Es ce que les lignes de commandes en général Sont modifiables ? Si oui
comment connaitre les champs variables de la commande ?
Euh, là j'avoue ne pas comprendre la question...



A+
--
Nicolas B.


Merci ça marche !

Une question bête (je débute)

Peut on changer des paramètres dans la ligne :
Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As
Hyperlink)

En remplaçant target par exemble par feuil2!A1

Ou doit on obligatoirement passer par Case etc..

Es ce que les lignes de commandes en général Sont modifiables ? Si oui
comment connaitre les champs variables de la commande ?

merci

joël

"Nicolas B." a écrit dans le
message de news: OM#
Salut Jöel,

Tu peux utiliser l'événement Workbook_SheetFollowHyperlink (dans
ThisWorkbook) :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal
Target As Hyperlink)
Select Case Target.SubAddress
Case "Feuil2!A1"
MsgBox "Tu vas en 2"
Case "Feuil3!A1"
MsgBox "Tu vas en 3"
End Select
End Sub


A+
--
Nicolas B.


Bonjour,

J'utilise un lien hypertexte pour passer d'une feuille à l'autre

J'ai sur ma premiere feuille Une sorte de Menu (feuil1) avec :


saisie des Resultats Routes ......: Cliquez içi
Historique des mouvements .....: Cliquez içi

Donc Quand l'utilisateur clique içi Je le dirige sur l'onglet
Feuil2 ou feuil3

Au niveaux des options du classeur ,je masque les onglets (c'est
inutile puisque j'ai des liens et sur chaque feulle un "retour"
(lien vers feuil1)

Maintenant mon problème:

Lors de l'ouverture du classeur , j'envoie un message :
MsgBox(Prevention routiere)
Tout va bien

Lors du changement de feuilles (onglets) j'envoie un message:
Private Sub Worksheet_Activate()
MsgBox "Message de Joël :Attention Données provisoires ... "
End Sub
Et là Si j'utilise en bas le changement d'onglet , g bien le message
d'info Mais comme g supprimé cette option d'affichage des onglets
Car je passe par les liens hypertexte

JE n'AI PLUS LE MESSAGE !!

Pouvez vous m'aider à obtenir ce message a chaque changement de
Feuilles !

Merci

joël

--







Avatar
Joël[2]
Merci Nicolas ,

Ma question sur les commandes e, général :
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target
As Hyperlink)
End Sub

Pourrait il être remplacé en changeant le mot TARGET par feuil2!A1
en l'ecrivant Comme cela :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal
Feuil2:A1> As Hyperlink)
End Sub


joël

"Nicolas B." a écrit dans le message de
news:
Peut on changer des paramètres dans la ligne :
Workbook_SheetFollowHyperlink(ByVal ...)
Non, il faut les garder, d'autant plus que tu te sers de Target pour

savoir

sur quel lien tu viens de cliquer.

Ou doit on obligatoirement passer par Case etc..
C'est à mon avis le plus simple pour ce cas. Si tu veux par contre

déclencher le msgbox seulement pour un lien (d'adresse Feuil1!A1) :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target
As Hyperlink)
If Target.SubAddress = "Feuil1!A1" Then MsgBox "C'est lui !"
End Sub


Es ce que les lignes de commandes en général Sont modifiables ? Si oui
comment connaitre les champs variables de la commande ?
Euh, là j'avoue ne pas comprendre la question...



A+
--
Nicolas B.


Merci ça marche !

Une question bête (je débute)

Peut on changer des paramètres dans la ligne :
Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As
Hyperlink)

En remplaçant target par exemble par feuil2!A1

Ou doit on obligatoirement passer par Case etc..

Es ce que les lignes de commandes en général Sont modifiables ? Si oui
comment connaitre les champs variables de la commande ?

merci

joël

"Nicolas B." a écrit dans le
message de news: OM#
Salut Jöel,

Tu peux utiliser l'événement Workbook_SheetFollowHyperlink (dans
ThisWorkbook) :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal
Target As Hyperlink)
Select Case Target.SubAddress
Case "Feuil2!A1"
MsgBox "Tu vas en 2"
Case "Feuil3!A1"
MsgBox "Tu vas en 3"
End Select
End Sub


A+
--
Nicolas B.


Bonjour,

J'utilise un lien hypertexte pour passer d'une feuille à l'autre

J'ai sur ma premiere feuille Une sorte de Menu (feuil1) avec :


saisie des Resultats Routes ......: Cliquez içi
Historique des mouvements .....: Cliquez içi

Donc Quand l'utilisateur clique içi Je le dirige sur l'onglet
Feuil2 ou feuil3

Au niveaux des options du classeur ,je masque les onglets (c'est
inutile puisque j'ai des liens et sur chaque feulle un "retour"
(lien vers feuil1)

Maintenant mon problème:

Lors de l'ouverture du classeur , j'envoie un message :
MsgBox(Prevention routiere)
Tout va bien

Lors du changement de feuilles (onglets) j'envoie un message:
Private Sub Worksheet_Activate()
MsgBox "Message de Joël :Attention Données provisoires ... "
End Sub
Et là Si j'utilise en bas le changement d'onglet , g bien le message
d'info Mais comme g supprimé cette option d'affichage des onglets
Car je passe par les liens hypertexte

JE n'AI PLUS LE MESSAGE !!

Pouvez vous m'aider à obtenir ce message a chaque changement de
Feuilles !

Merci

joël

--











Avatar
Nicolas B.
Target est une variable. Si tu as envie, tu peux changer le nom de cette
variable, mais cela n'affectera pas sa valeur.
Tu ne peux cependant pas mettre feuil2!a1 car on ne peut pas utiliser de "!"
dans un nom de variable.

Par exemple, ici j'ai changé Target en Tgt :
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Tgt As
Hyperlink)
If Tgt.SubAddress = "Feuil1!A1" Then MsgBox "C'est lui !"
End Sub

Mais je ne comprends pas pourquoi tu veux changer cela : si tu mets par
exemple comme variable Feuil1 dans la première solution (avec Select Case),
en cliquant sur le lien vers la feuille 2 le message affiché sera celui de
la feuille 2, pas de la feuille 1.


A+
--
Nicolas B.


Merci Nicolas ,

Ma question sur les commandes e, général :
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal
Target
As Hyperlink)
End Sub

Pourrait il être remplacé en changeant le mot TARGET par feuil2!A1
en l'ecrivant Comme cela :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal
Feuil2:A1> As Hyperlink)
End Sub


joël

"Nicolas B." a écrit dans le
message de news:
Peut on changer des paramètres dans la ligne :
Workbook_SheetFollowHyperlink(ByVal ...)
Non, il faut les garder, d'autant plus que tu te sers de Target pour

savoir sur quel lien tu viens de cliquer.

Ou doit on obligatoirement passer par Case etc..
C'est à mon avis le plus simple pour ce cas. Si tu veux par contre

déclencher le msgbox seulement pour un lien (d'adresse Feuil1!A1) :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal
Target As Hyperlink)
If Target.SubAddress = "Feuil1!A1" Then MsgBox "C'est lui !"
End Sub


Es ce que les lignes de commandes en général Sont modifiables ? Si
oui comment connaitre les champs variables de la commande ?
Euh, là j'avoue ne pas comprendre la question...



A+
--
Nicolas B.


Merci ça marche !

Une question bête (je débute)

Peut on changer des paramètres dans la ligne :
Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As
Hyperlink)

En remplaçant target par exemble par feuil2!A1

Ou doit on obligatoirement passer par Case etc..

Es ce que les lignes de commandes en général Sont modifiables ? Si
oui comment connaitre les champs variables de la commande ?

merci

joël

"Nicolas B." a écrit dans le
message de news: OM#
Salut Jöel,

Tu peux utiliser l'événement Workbook_SheetFollowHyperlink (dans
ThisWorkbook) :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal
Target As Hyperlink)
Select Case Target.SubAddress
Case "Feuil2!A1"
MsgBox "Tu vas en 2"
Case "Feuil3!A1"
MsgBox "Tu vas en 3"
End Select
End Sub


A+
--
Nicolas B.


Bonjour,

J'utilise un lien hypertexte pour passer d'une feuille à l'autre

J'ai sur ma premiere feuille Une sorte de Menu (feuil1) avec :


saisie des Resultats Routes ......: Cliquez içi
Historique des mouvements .....: Cliquez içi

Donc Quand l'utilisateur clique içi Je le dirige sur l'onglet
Feuil2 ou feuil3

Au niveaux des options du classeur ,je masque les onglets (c'est
inutile puisque j'ai des liens et sur chaque feulle un "retour"
(lien vers feuil1)

Maintenant mon problème:

Lors de l'ouverture du classeur , j'envoie un message :
MsgBox(Prevention routiere)
Tout va bien

Lors du changement de feuilles (onglets) j'envoie un message:
Private Sub Worksheet_Activate()
MsgBox "Message de Joël :Attention Données provisoires ... "
End Sub
Et là Si j'utilise en bas le changement d'onglet , g bien le
message d'info Mais comme g supprimé cette option d'affichage des
onglets
Car je passe par les liens hypertexte

JE n'AI PLUS LE MESSAGE !!

Pouvez vous m'aider à obtenir ce message a chaque changement de
Feuilles !

Merci

joël

--











Avatar
Joël[2]
Merci

Ct juste une question pour savoir si ,en général,il y avait des variables
dans ce type de commande
je suis d'accord avec toi , la solution est bien avec case etc..et je
m'etais aussi mélangé avec feuil1 et feuil2

Donc dans ton exemple Tu peux effectivement remplacéTARGET par TGT et ct
bien ma question d'ordre général

merci

Autre question : puis je initialiser une variable ? exemple TGT "feuill2!A1" initialiserait TGT ou y a t il une autre forme ?

ps: Je ne trouve pas l'aide (le petit carré a droite ?) pour m'aider a taper
Case par exemple



"Nicolas B." a écrit dans le message de
news:
Target est une variable. Si tu as envie, tu peux changer le nom de cette
variable, mais cela n'affectera pas sa valeur.
Tu ne peux cependant pas mettre feuil2!a1 car on ne peut pas utiliser de
"!"

dans un nom de variable.

Par exemple, ici j'ai changé Target en Tgt :
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Tgt As
Hyperlink)
If Tgt.SubAddress = "Feuil1!A1" Then MsgBox "C'est lui !"
End Sub

Mais je ne comprends pas pourquoi tu veux changer cela : si tu mets par
exemple comme variable Feuil1 dans la première solution (avec Select
Case),

en cliquant sur le lien vers la feuille 2 le message affiché sera celui de
la feuille 2, pas de la feuille 1.


A+
--
Nicolas B.


Merci Nicolas ,

Ma question sur les commandes e, général :
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal
Target
As Hyperlink)
End Sub

Pourrait il être remplacé en changeant le mot TARGET par feuil2!A1
en l'ecrivant Comme cela :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal
Feuil2:A1> As Hyperlink)
End Sub


joël

"Nicolas B." a écrit dans le
message de news:
Peut on changer des paramètres dans la ligne :
Workbook_SheetFollowHyperlink(ByVal ...)
Non, il faut les garder, d'autant plus que tu te sers de Target pour

savoir sur quel lien tu viens de cliquer.

Ou doit on obligatoirement passer par Case etc..
C'est à mon avis le plus simple pour ce cas. Si tu veux par contre

déclencher le msgbox seulement pour un lien (d'adresse Feuil1!A1) :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal
Target As Hyperlink)
If Target.SubAddress = "Feuil1!A1" Then MsgBox "C'est lui !"
End Sub


Es ce que les lignes de commandes en général Sont modifiables ? Si
oui comment connaitre les champs variables de la commande ?
Euh, là j'avoue ne pas comprendre la question...



A+
--
Nicolas B.


Merci ça marche !

Une question bête (je débute)

Peut on changer des paramètres dans la ligne :
Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As
Hyperlink)

En remplaçant target par exemble par feuil2!A1

Ou doit on obligatoirement passer par Case etc..

Es ce que les lignes de commandes en général Sont modifiables ? Si
oui comment connaitre les champs variables de la commande ?

merci

joël

"Nicolas B." a écrit dans le
message de news: OM#
Salut Jöel,

Tu peux utiliser l'événement Workbook_SheetFollowHyperlink (dans
ThisWorkbook) :

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal
Target As Hyperlink)
Select Case Target.SubAddress
Case "Feuil2!A1"
MsgBox "Tu vas en 2"
Case "Feuil3!A1"
MsgBox "Tu vas en 3"
End Select
End Sub


A+
--
Nicolas B.


Bonjour,

J'utilise un lien hypertexte pour passer d'une feuille à l'autre

J'ai sur ma premiere feuille Une sorte de Menu (feuil1) avec :


saisie des Resultats Routes ......: Cliquez içi
Historique des mouvements .....: Cliquez içi

Donc Quand l'utilisateur clique içi Je le dirige sur l'onglet
Feuil2 ou feuil3

Au niveaux des options du classeur ,je masque les onglets (c'est
inutile puisque j'ai des liens et sur chaque feulle un "retour"
(lien vers feuil1)

Maintenant mon problème:

Lors de l'ouverture du classeur , j'envoie un message :
MsgBox(Prevention routiere)
Tout va bien

Lors du changement de feuilles (onglets) j'envoie un message:
Private Sub Worksheet_Activate()
MsgBox "Message de Joël :Attention Données provisoires ... "
End Sub
Et là Si j'utilise en bas le changement d'onglet , g bien le
message d'info Mais comme g supprimé cette option d'affichage des
onglets
Car je passe par les liens hypertexte

JE n'AI PLUS LE MESSAGE !!

Pouvez vous m'aider à obtenir ce message a chaque changement de
Feuilles !

Merci

joël

--