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

Lien hypertexte sur sous menus

9 réponses
Avatar
Caroual
Bonjour,
Je vois très vite les limites de la création de mes menus et sous menus sans
l'aide de code.
Je vais donc les créer par vba à l'ouverture de mon fichier et les supprimer
à la fermeture.
Le code de MichDenis va bien.
Une question : avec une commande je veux simplement ouvrir un fichier, je
peux affecter une macro mais serait-il possible d'y affecter plutôt un lien
hypertexte ?
Merci

Caroual

9 réponses

Avatar
MichDenis
Bonjour Caroual,

à partir de l'exemple que je t'avais donné, il est possible de faire ceci:
(je crois que c'est disponible pour Excel 2003 -> à vérifier)
'-------------------------------------------
Sub Ajout_Menu()

Dim Nouv_Menu As CommandBarPopup
Dim Cmd As CommandBarControl
Dim Bouton As CommandBarControl

'Ajout d'un item au menu de la barre des menus
With Application.CommandBars(1)
Set Nouv_Menu = .Controls.Add(Type:=msoControlPopup, _
Before:=.Controls("?").Index, Temporary:=True)
End With
Nouv_Menu.Caption = "Caroual"

'Ajout d'un sous-Menu au menu "Caroual"
Set Cmd = CommandBars(1).Controls("Caroual") _
.Controls.Add(msoControlPopup)
With Cmd
.Caption = "Menu1"
'Ajout d'un sous-Menu au Menu
Set Bouton = .Controls.Add(msoControlButton)

With Bouton
.Caption = "cjoint.com"
.HyperlinkType = msoCommandBarButtonHyperlinkNone
.FaceId = 342
End With
If Bouton.HyperlinkType <> _
msoCommandBarButtonHyperlinkOpen Then
Bouton.HyperlinkType = _
msoCommandBarButtonHyperlinkOpen
Bouton.TooltipText = "Http://www.cjoint.com"
End If
End With

End Sub
'-------------------------------------------



"Caroual" a écrit dans le message de groupe de discussion :
OHxUc3V$
Bonjour,
Je vois très vite les limites de la création de mes menus et sous menus sans
l'aide de code.
Je vais donc les créer par vba à l'ouverture de mon fichier et les supprimer
à la fermeture.
Le code de MichDenis va bien.
Une question : avec une commande je veux simplement ouvrir un fichier, je
peux affecter une macro mais serait-il possible d'y affecter plutôt un lien
hypertexte ?
Merci

Caroual
Avatar
MichDenis
Tu peux simplifier comme ceci :

Dim Bouton As CommandBarControl
Dim X As MsoButtonStyle
X = msoButtonIconAndCaption

Pour la section du bouton :
With Bouton
.Style = X
.Caption = "cjoint.com"
.TooltipText = "Http://www.cjoint.com"
.HyperlinkType = msoCommandBarButtonHyperlinkOpen
.FaceId = 342
End With




"MichDenis" a écrit dans le message de groupe de discussion :
#bPiCFW$
Bonjour Caroual,

à partir de l'exemple que je t'avais donné, il est possible de faire ceci:
(je crois que c'est disponible pour Excel 2003 -> à vérifier)
'-------------------------------------------
Sub Ajout_Menu()

Dim Nouv_Menu As CommandBarPopup
Dim Cmd As CommandBarControl
Dim Bouton As CommandBarControl

'Ajout d'un item au menu de la barre des menus
With Application.CommandBars(1)
Set Nouv_Menu = .Controls.Add(Type:=msoControlPopup, _
Before:=.Controls("?").Index, Temporary:=True)
End With
Nouv_Menu.Caption = "Caroual"

'Ajout d'un sous-Menu au menu "Caroual"
Set Cmd = CommandBars(1).Controls("Caroual") _
.Controls.Add(msoControlPopup)
With Cmd
.Caption = "Menu1"
'Ajout d'un sous-Menu au Menu
Set Bouton = .Controls.Add(msoControlButton)

With Bouton
.Caption = "cjoint.com"
.HyperlinkType = msoCommandBarButtonHyperlinkNone
.FaceId = 342
End With
If Bouton.HyperlinkType <> _
msoCommandBarButtonHyperlinkOpen Then
Bouton.HyperlinkType = _
msoCommandBarButtonHyperlinkOpen
Bouton.TooltipText = "Http://www.cjoint.com"
End If
End With

End Sub
'-------------------------------------------



"Caroual" a écrit dans le message de groupe de discussion :
OHxUc3V$
Bonjour,
Je vois très vite les limites de la création de mes menus et sous menus sans
l'aide de code.
Je vais donc les créer par vba à l'ouverture de mon fichier et les supprimer
à la fermeture.
Le code de MichDenis va bien.
Une question : avec une commande je veux simplement ouvrir un fichier, je
peux affecter une macro mais serait-il possible d'y affecter plutôt un lien
hypertexte ?
Merci

Caroual
Avatar
Caroual
Merci cela marche très bien et je suis avec excel 2003.
msoControlPopup crée un menu dans la barre de menu, msocontrolbutton crée un
bouton dans un menu, quelle est la différence avec un élément de menu
personalisé et si différence quel est son code ?
Merci
Caroual


"MichDenis" a écrit dans le message de news:
e5rraLW$
Tu peux simplifier comme ceci :

Dim Bouton As CommandBarControl
Dim X As MsoButtonStyle
X = msoButtonIconAndCaption

Pour la section du bouton :
With Bouton
.Style = X
.Caption = "cjoint.com"
.TooltipText = "Http://www.cjoint.com"
.HyperlinkType = msoCommandBarButtonHyperlinkOpen
.FaceId = 342
End With




"MichDenis" a écrit dans le message de groupe de
discussion :
#bPiCFW$
Bonjour Caroual,

à partir de l'exemple que je t'avais donné, il est possible de faire ceci:
(je crois que c'est disponible pour Excel 2003 -> à vérifier)
'-------------------------------------------
Sub Ajout_Menu()

Dim Nouv_Menu As CommandBarPopup
Dim Cmd As CommandBarControl
Dim Bouton As CommandBarControl

'Ajout d'un item au menu de la barre des menus
With Application.CommandBars(1)
Set Nouv_Menu = .Controls.Add(Type:=msoControlPopup, _
Before:=.Controls("?").Index, Temporary:=True)
End With
Nouv_Menu.Caption = "Caroual"

'Ajout d'un sous-Menu au menu "Caroual"
Set Cmd = CommandBars(1).Controls("Caroual") _
.Controls.Add(msoControlPopup)
With Cmd
.Caption = "Menu1"
'Ajout d'un sous-Menu au Menu
Set Bouton = .Controls.Add(msoControlButton)

With Bouton
.Caption = "cjoint.com"
.HyperlinkType = msoCommandBarButtonHyperlinkNone
.FaceId = 342
End With
If Bouton.HyperlinkType <> _
msoCommandBarButtonHyperlinkOpen Then
Bouton.HyperlinkType = _
msoCommandBarButtonHyperlinkOpen
Bouton.TooltipText = "Http://www.cjoint.com"
End If
End With

End Sub
'-------------------------------------------



"Caroual" a écrit dans le message de groupe de
discussion :
OHxUc3V$
Bonjour,
Je vois très vite les limites de la création de mes menus et sous menus
sans
l'aide de code.
Je vais donc les créer par vba à l'ouverture de mon fichier et les
supprimer
à la fermeture.
Le code de MichDenis va bien.
Une question : avec une commande je veux simplement ouvrir un fichier, je
peux affecter une macro mais serait-il possible d'y affecter plutôt un
lien
hypertexte ?
Merci

Caroual



Avatar
MichDenis
| msoControlPopup crée un menu dans la barre de menu,
| msocontrolbutton crée un bouton dans un menu, quelle
| est la différence avec un élément de menu
| personalisé et si différence quel est son code ?

Je n'ai pas vraiment saisi le sens de ta question. En fait, si
on doit choisir "msoControlPopup" ou "msocontrolbutton",
cela dépend de l'usage que l'on veut faire du bouton.

Dans l'exemple de code que je t'ai donné, remplace msoControlPopup
par msocontrolbutton, et essaie d'exécuter le code...
'------------------------------------------------
'Ajout d'un item au menu de la barre des menus
With Application.CommandBars(1)
Set Nouv_Menu = .Controls.Add(Type:=msoControlPopup, _
Before:=.Controls("?").Index, Temporary:=True)
End With
Nouv_Menu.Caption = "Caroual"

suite du code...
'------------------------------------------------

Si tu veux approfondir la chose, il y a des bons bouquins sur VBA
et les barres d'outils. John Walkenbach en a écrit quelques uns
sur le sujet.
Avatar
Caroual
Ok, j'irais bouquiner.
En faisant mes essais de menus, j'ai malencontreusement supprimer le menu
Fenêtre. Je n'arrive pas à le retrouver.
As-tu une idée ?
Caroual

"MichDenis" a écrit dans le message de news:
uCzeIjq$

| msoControlPopup crée un menu dans la barre de menu,
| msocontrolbutton crée un bouton dans un menu, quelle
| est la différence avec un élément de menu
| personalisé et si différence quel est son code ?

Je n'ai pas vraiment saisi le sens de ta question. En fait, si
on doit choisir "msoControlPopup" ou "msocontrolbutton",
cela dépend de l'usage que l'on veut faire du bouton.

Dans l'exemple de code que je t'ai donné, remplace msoControlPopup
par msocontrolbutton, et essaie d'exécuter le code...
'------------------------------------------------
'Ajout d'un item au menu de la barre des menus
With Application.CommandBars(1)
Set Nouv_Menu = .Controls.Add(Type:=msoControlPopup, _
Before:=.Controls("?").Index, Temporary:=True)
End With
Nouv_Menu.Caption = "Caroual"

suite du code...
'------------------------------------------------

Si tu veux approfondir la chose, il y a des bons bouquins sur VBA
et les barres d'outils. John Walkenbach en a écrit quelques uns
sur le sujet.






Avatar
Caroual
Je viens de trouver.
Outils//Personaliser/Barres d'outils choisir barre de menus feuille de
calcul et réinitialiser...
Caroual

"Caroual" a écrit dans le message de news:
%23fUOGo%23$
Ok, j'irais bouquiner.
En faisant mes essais de menus, j'ai malencontreusement supprimer le menu
Fenêtre. Je n'arrive pas à le retrouver.
As-tu une idée ?
Caroual

"MichDenis" a écrit dans le message de news:
uCzeIjq$

| msoControlPopup crée un menu dans la barre de menu,
| msocontrolbutton crée un bouton dans un menu, quelle
| est la différence avec un élément de menu
| personalisé et si différence quel est son code ?

Je n'ai pas vraiment saisi le sens de ta question. En fait, si
on doit choisir "msoControlPopup" ou "msocontrolbutton",
cela dépend de l'usage que l'on veut faire du bouton.

Dans l'exemple de code que je t'ai donné, remplace msoControlPopup
par msocontrolbutton, et essaie d'exécuter le code...
'------------------------------------------------
'Ajout d'un item au menu de la barre des menus
With Application.CommandBars(1)
Set Nouv_Menu = .Controls.Add(Type:=msoControlPopup, _
Before:=.Controls("?").Index, Temporary:=True)
End With
Nouv_Menu.Caption = "Caroual"

suite du code...
'------------------------------------------------

Si tu veux approfondir la chose, il y a des bons bouquins sur VBA
et les barres d'outils. John Walkenbach en a écrit quelques uns
sur le sujet.










Avatar
MichDenis
Il y a plusieurs façons de procéder, mais la plus simple
pour t'éviter de perdre les modifications que tu as
déjà faites à la barre des menus :

J'ai présumé que le contrôle de la barre des menus "?" était
toujours présent sur la barre des menus de la feuille de calcul
'---------------------------
Sub Test()
With Application.CommandBars(1)
.Controls.Add ID:0009, Before:=.Controls("?").Index
End With
End Sub
'---------------------------




"Caroual" a écrit dans le message de groupe de discussion :
#fUOGo#$
Ok, j'irais bouquiner.
En faisant mes essais de menus, j'ai malencontreusement supprimer le menu
Fenêtre. Je n'arrive pas à le retrouver.
As-tu une idée ?
Caroual

"MichDenis" a écrit dans le message de news:
uCzeIjq$

| msoControlPopup crée un menu dans la barre de menu,
| msocontrolbutton crée un bouton dans un menu, quelle
| est la différence avec un élément de menu
| personalisé et si différence quel est son code ?

Je n'ai pas vraiment saisi le sens de ta question. En fait, si
on doit choisir "msoControlPopup" ou "msocontrolbutton",
cela dépend de l'usage que l'on veut faire du bouton.

Dans l'exemple de code que je t'ai donné, remplace msoControlPopup
par msocontrolbutton, et essaie d'exécuter le code...
'------------------------------------------------
'Ajout d'un item au menu de la barre des menus
With Application.CommandBars(1)
Set Nouv_Menu = .Controls.Add(Type:=msoControlPopup, _
Before:=.Controls("?").Index, Temporary:=True)
End With
Nouv_Menu.Caption = "Caroual"

suite du code...
'------------------------------------------------

Si tu veux approfondir la chose, il y a des bons bouquins sur VBA
et les barres d'outils. John Walkenbach en a écrit quelques uns
sur le sujet.






Avatar
MichDenis
| Outils//Personaliser/Barres d'outils choisir barre
| de menus feuille de calcul et réinitialiser...

Le défaut de cette méthode est qu'elle te fait perdre
toutes les modifications (personnalisation) que tu as
faite à la barre des menus de la feuille de calcul.
Avatar
Caroual
Comme finalement je personnalise par macro , ma barre de menus se
personnalise à l'ouverture de mon fichier de macro perso, donc cela ne me
posait pas de problème. Mais je garde le code cela peut toujours servir.
Merci
Caroual

"MichDenis" a écrit dans le message de news:
umuwHQ$$
Il y a plusieurs façons de procéder, mais la plus simple
pour t'éviter de perdre les modifications que tu as
déjà faites à la barre des menus :

J'ai présumé que le contrôle de la barre des menus "?" était
toujours présent sur la barre des menus de la feuille de calcul
'---------------------------
Sub Test()
With Application.CommandBars(1)
.Controls.Add ID:0009, Before:=.Controls("?").Index
End With
End Sub
'---------------------------




"Caroual" a écrit dans le message de groupe de
discussion :
#fUOGo#$
Ok, j'irais bouquiner.
En faisant mes essais de menus, j'ai malencontreusement supprimer le menu
Fenêtre. Je n'arrive pas à le retrouver.
As-tu une idée ?
Caroual

"MichDenis" a écrit dans le message de news:
uCzeIjq$

| msoControlPopup crée un menu dans la barre de menu,
| msocontrolbutton crée un bouton dans un menu, quelle
| est la différence avec un élément de menu
| personalisé et si différence quel est son code ?

Je n'ai pas vraiment saisi le sens de ta question. En fait, si
on doit choisir "msoControlPopup" ou "msocontrolbutton",
cela dépend de l'usage que l'on veut faire du bouton.

Dans l'exemple de code que je t'ai donné, remplace msoControlPopup
par msocontrolbutton, et essaie d'exécuter le code...
'------------------------------------------------
'Ajout d'un item au menu de la barre des menus
With Application.CommandBars(1)
Set Nouv_Menu = .Controls.Add(Type:=msoControlPopup, _
Before:=.Controls("?").Index, Temporary:=True)
End With
Nouv_Menu.Caption = "Caroual"

suite du code...
'------------------------------------------------

Si tu veux approfondir la chose, il y a des bons bouquins sur VBA
et les barres d'outils. John Walkenbach en a écrit quelques uns
sur le sujet.