Lien hypertexte sur sous menus

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19698351
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" 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
MichDenis
Le #19698521
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" #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" 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
Caroual
Le #19701571
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" 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" 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" 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



MichDenis
Le #19711731
| 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.
Caroual
Le #19723911
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" 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.






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

"Caroual" %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" 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.










MichDenis
Le #19724241
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" #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" 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.






MichDenis
Le #19724231
| 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.
Caroual
Le #19726151
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" 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" 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" 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.









Publicité
Poster une réponse
Anonyme