Barre commande pour accéder à 1 feuille: HyperlinkType et Tooltiptext
Dernière réponse : dans Programmation
Bonjour à tous,
Je recherche le moyen d'accéder à une feuille d'un classeur Excel identifié au moyen d'un barre de commande. J'arrive à ouvrir le fichier (Tableau de bord.xls) mais je ne parviens pas à activer une feuillle précise de ce classeur. Quelqu'un pourrait-il solutionner mon pb et adapter peut-être le TooltypTexte ? Ci-dessous, mon code tel qu'il est actuellement... Merci pour votre aide !
--------------
Set SousMenu = NouveauMenu.Controls.Add(Type:=msoControlButton)
With SousMenu
.Caption = "&Saisir un état"
.HyperlinkType = msoCommandBarButtonHyperlinkOpen
.TooltipText = "\\Cesar\SFC-CICF\Travail\Tableau de bord.xls"
End With
------------------------
Je recherche le moyen d'accéder à une feuille d'un classeur Excel identifié au moyen d'un barre de commande. J'arrive à ouvrir le fichier (Tableau de bord.xls) mais je ne parviens pas à activer une feuillle précise de ce classeur. Quelqu'un pourrait-il solutionner mon pb et adapter peut-être le TooltypTexte ? Ci-dessous, mon code tel qu'il est actuellement... Merci pour votre aide !
--------------
Set SousMenu = NouveauMenu.Controls.Add(Type:=msoControlButton)
With SousMenu
.Caption = "&Saisir un état"
.HyperlinkType = msoCommandBarButtonHyperlinkOpen
.TooltipText = "\\Cesar\SFC-CICF\Travail\Tableau de bord.xls"
End With
------------------------
Autres pages sur : barre commande acceder feuille hyperlinktype tooltiptext
Lassé par la pub ? Créez un compte
Bonjour à tous et bonne année....
En ouvrant cette réponse je m'attendais à trouver une solution à mon problème... Mais non la bonne nouvelle n'est pas encore arrivée...
Zeb, c'est promis la prochaine fois j'utilise le bouton permettant de mettr een exergue le code.
Désolé étant nouveau je n'ai pas percuté sur cette présentation.
Zeb, tu ne peux pas m'apporter une aide ?!
Cartoiide
En ouvrant cette réponse je m'attendais à trouver une solution à mon problème... Mais non la bonne nouvelle n'est pas encore arrivée...
Zeb, c'est promis la prochaine fois j'utilise le bouton permettant de mettr een exergue le code.
Désolé étant nouveau je n'ai pas percuté sur cette présentation.
Zeb, tu ne peux pas m'apporter une aide ?!
Cartoiide
Bonjour,
Il y a deux zeb sur ce forum.
L'un est modérateur et doit veiller à la bonne tenue du forum, même et surtout envers les nouveaux. Faire lire et respecter le règlement. Il n'y a pas de prochaine fois qui tienne, il faut soit bien faire les choses du premier coup (difficile pour les nouveaux évidemment), soit se rattraper. Le règlement est pourtant didactique. Allez, je le remets ici :
![]()
L'autre est un membre très actif qui ne demande qu'à aider les autres. De nombreux posts en témoignent sur ce site.
Il y a deux zeb sur ce forum.

Bonjour à tous,
Je recherche le moyen d'accéder à une feuille d'un classeur Excel identifié au moyen d'un barre de commande. J'arrive à ouvrir le fichier (Tableau de bord.xls) mais je ne parviens pas à activer une feuillle précise de ce classeur. Quelqu'un pourrait-il solutionner mon pb et adapter peut-être le TooltypTexte ? Ci-dessous, mon code tel qu'il est actuellement... Merci pour votre aide !
Je recherche le moyen d'accéder à une feuille d'un classeur Excel identifié au moyen d'un barre de commande. J'arrive à ouvrir le fichier (Tableau de bord.xls) mais je ne parviens pas à activer une feuillle précise de ce classeur. Quelqu'un pourrait-il solutionner mon pb et adapter peut-être le TooltypTexte ? Ci-dessous, mon code tel qu'il est actuellement... Merci pour votre aide !
Set SousMenu = NouveauMenu.Controls.Add(Type:=msoControlButton)
With SousMenu
.Caption = "&Saisir un état"
.HyperlinkType = msoCommandBarButtonHyperlinkOpen
.TooltipText = "\\Cesar\SFC-CICF\Travail\Tableau de bord.xls"
End With
Ohlala, passer par un Hyperlink et le tooltiptext pour ouvrir un fichier, voilà qui me semble capilo-tracté.
Je te propose plutôt d'utiliser la méthode OnAction :
A charge pour toi de mettre le code qui te convienne dans la macro Dashboard_OnClick.
Un exemple :
Je te propose plutôt d'utiliser la méthode OnAction :
Set btn = bar.Controls.Add(Type:=msoControlButton)
btn.Caption = "&Saisir un état"
btn.OnAction = "ThisWorkbook.Dashboard_OnClick"
A charge pour toi de mettre le code qui te convienne dans la macro Dashboard_OnClick.
Un exemple :
Sub Dashboard_OnClick()
Dim wb As Workbook
Dim ws As Worksheet
Dim rg As Range
Set wb = Workbooks.Open("\\Cesar\SFC-CICF\Travail\Tableau de bord.xls")
Set ws = wb.Worksheets("Feuil2")
Set pl = ws.Range("B27")
wb.Activate
ws.Activate
rg.Activate
End Sub
Je viens de corriger mon code en insérant les 3 lignes du "Set btn" dans ma procédure principale.
La procédure "Sub Dashboard_OnClick()" ne se lance pas (le fichier appelé ne s'ouvre pas). Par contre elle se lance correctement lorsque je la lance manuellement.
Je précise que j'ai placé la procédure "Sub Dashboard_OnClick()" à la suite de la procédure principale située dans un module.
Peut-être faut-il la placer ailleurs ? (je précise que je suis plutôt débutant... ce qui explique ces questions peut-être simplistes).
La procédure "Sub Dashboard_OnClick()" ne se lance pas (le fichier appelé ne s'ouvre pas). Par contre elle se lance correctement lorsque je la lance manuellement.
Je précise que j'ai placé la procédure "Sub Dashboard_OnClick()" à la suite de la procédure principale située dans un module.
Peut-être faut-il la placer ailleurs ? (je précise que je suis plutôt débutant... ce qui explique ces questions peut-être simplistes).
Regarde bien le code :
Le bouton btn (ou le menu mnu, appelle-le comme tu veux) est attendu dans le code de ThisWorkBook. En fait, tu le mets où tu veux, mais il faut juste préciser où. Je suis sûr que le temps que j'écrive ces lignes, tu auras trouvé à force de tâtonnements et de réflexion
Alors, comment trouves-tu le second zeb ?
btn.OnAction = "ThisWorkbook.Dashboard_OnClick"
Le bouton btn (ou le menu mnu, appelle-le comme tu veux) est attendu dans le code de ThisWorkBook. En fait, tu le mets où tu veux, mais il faut juste préciser où. Je suis sûr que le temps que j'écrive ces lignes, tu auras trouvé à force de tâtonnements et de réflexion
Alors, comment trouves-tu le second zeb ?
Spoiler
Schizophrène
Le second ZEB est efficace et réactif en effet. Merci en tout cas de ces réponses précises.
Je situe plus précisément le contexte de mon problème : j'ai créé un fichier Excel "principal" qui comporte 6 menus, lesquels contiennent plusieurs sous-menu. J'ai traduit cela de la manière manière suivante :
Un projet VBA qui contient autant de modules que de menu .
Dans chaque module, une procédure crée un menu et plusieurs sous menus :
- sous-menu 1 : lance une feuille d'un fichier excel x,
- sous-menu 2 : propose une liste de fichier, un fichier est ouvert lorsque l'on clique dessus.
Le sous-menu 2 fonctionne bien,
Le sous-menu 1 est l'objet de ce sujet sur le forum.
Cela situe plus précisément le contexte de ce post. Je suis donc face à 2 problèmes :
1- Tel que j'ai écris mon codden, je ne peux donc pas positionner la commande suivante dans le code de ThisWorkBook mais dans un module :
2- Je dois faire en sorte qu'il y ai une procédure Sub Dashboard_OnClick() pour chacun des modules pour ouvrir un fichier différent selon le menu utilisé.
J'espère que je suis assez clair...
Je situe plus précisément le contexte de mon problème : j'ai créé un fichier Excel "principal" qui comporte 6 menus, lesquels contiennent plusieurs sous-menu. J'ai traduit cela de la manière manière suivante :
Un projet VBA qui contient autant de modules que de menu .
Dans chaque module, une procédure crée un menu et plusieurs sous menus :
- sous-menu 1 : lance une feuille d'un fichier excel x,
- sous-menu 2 : propose une liste de fichier, un fichier est ouvert lorsque l'on clique dessus.
Le sous-menu 2 fonctionne bien,
Le sous-menu 1 est l'objet de ce sujet sur le forum.
Cela situe plus précisément le contexte de ce post. Je suis donc face à 2 problèmes :
1- Tel que j'ai écris mon codden, je ne peux donc pas positionner la commande suivante dans le code de ThisWorkBook mais dans un module :
btn.OnAction = "ThisWorkbook.Dashboard_OnClick"
2- Je dois faire en sorte qu'il y ai une procédure Sub Dashboard_OnClick() pour chacun des modules pour ouvrir un fichier différent selon le menu utilisé.
J'espère que je suis assez clair...
Je te donne un exemple. C'est donc à toi de l'adapter. Bon.
Voici non pas du poisson, mais un cours de pêche
:
Ouvre le code d'un nouveau classeur.
Dans le code de la feuille 1, crée la procédure suivante :
Dans le code de la feuille 2, crée la procédure suivante :
Dans le code du classeur, crée la procédure suivante :
Dans le code d'un nouveau module, crée la procédure suivante :
Dans Excel, maintenant, ouvre le menu Outils/Macro/Macros... (Alt+F8) et admire ton oeuvre, vue par Excel. Ce sont ces noms que tu peux mettre dans ta commande OnAction.
Voici non pas du poisson, mais un cours de pêche
:Ouvre le code d'un nouveau classeur.
Dans le code de la feuille 1, crée la procédure suivante :
Sub Petit
MsgBox "Petit"
End Sub
Dans le code de la feuille 2, crée la procédure suivante :
Sub Poisson
MsgBox "Poisson"
End Sub
Dans le code du classeur, crée la procédure suivante :
Sub Deviendra
MsgBox "Deviendra"
End Sub
Dans le code d'un nouveau module, crée la procédure suivante :
Sub Grand
MsgBox "Grand"
End Sub
Dans Excel, maintenant, ouvre le menu Outils/Macro/Macros... (Alt+F8) et admire ton oeuvre, vue par Excel. Ce sont ces noms que tu peux mettre dans ta commande OnAction.
Zeb me revoila, et bonjour,
Le code que tyu m'a donné fonctionne si je le mets dans un module. Lorsque que le duplique dans un autre module (pour l'adapter à un autre menu), l'action OnAction n'aboutit pas : cela ne plante pas mais le fichier Excel pointé ne s'ouvre pas... Est-ce qu'il y a une manip que je doive faire ?
Le code que tyu m'a donné fonctionne si je le mets dans un module. Lorsque que le duplique dans un autre module (pour l'adapter à un autre menu), l'action OnAction n'aboutit pas : cela ne plante pas mais le fichier Excel pointé ne s'ouvre pas... Est-ce qu'il y a une manip que je doive faire ?
Lassé par la pub ? Créez un compte
- Contenus similaires :