macro deroulante

M

moi

Guest
slt a tous

g une petite kestion est il possible de faire une macro deroulante?
en fait g 17 boutons ki me permettent de naviguer entre differentes feuilles de mon classeur et jaimerai savoir si il est possible de faire un menu deroulants ki regroupe ces 17 bouton

merci pour ce ki me repondront....
 

dg62

XLDnaute Barbatruc
Salut à TOI


Sur excel 2003.

En bas de ton classeur tu as les onglets, a gauche des onglets tu as des boutons style magneto. Si tu fais un clic droit sur un de ces boutons tu as directement ton menu déroulant avec tes différentes feuilles.

Message édité par: dg62, à: 21/07/2005 10:34
 
D

Deedo

Guest
bonjour Toi... err Moi :p
tiens j'ai l'impression de faire du narcissisme là ... :eek:

donc pour créer un menu VBA:

Sub Workbook_Open()
call ajouter_menu
end sub


Sub ajouter_menu()
'ajouter le nouveau menu
'cette procedure est appelée à l'ouverture du classeur

Dim HelpMenu As CommandBarControl
Dim NewMenu As CommandBarPopup
Dim MenuItem As CommandBarControl


'retrouver le menu d'aide pour placer mon nouveau menu juste avant
Set HelpMenu = CommandBars(1).FindControl(ID:=30010)

If HelpMenu Is Nothing Then
'ajouter le menu à la fin
Set NewMenu = CommandBars(1).Controls _
.Add(Type:=msoControlPopup, Temporary:=True)
Else
Set NewMenu = CommandBars(1).Controls _
.Add(Type:=msoControlPopup, Before:=HelpMenu.Index, Temporary:=True)
'sinon avant le menu d'aide
End If
'donner un titre au menu
NewMenu.Caption = '&MONMENU'

'ajouter des éléments au menu
Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton)
With MenuItem
.Caption = '&ma macro à lancer'
.OnAction = 'nom_macro'
End With

'ajouter des éléments au menu autre exemple
Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton)
With MenuItem
.Caption = '&Exporter...'
.OnAction = 'export_quest'
End With
'ajouter des éléments au menu
Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton)
With MenuItem
.Caption = '&Quitter...'
.OnAction = 'quitter_app'
End With
End Sub

'a la fermeture du classeur
'mais effectif seulement qu'Excel est fermé

Sub suppr_menu()
'supprimer le menu personnalisé
On Error Resume Next
CommandBars('&MONMENU').Delete
On Error GoTo 0
End Sub


et hop!
j'espère que ça t'aidera


Deedo
 
M

moi

Guest
ok mais si je dois aller o fond a droite pour afficher ce menu jen fini pas je perd un temps monstre je te rappelle que g 17 graphes et 21 onglets o total alors je ne vois pas ce bonton ke tu di alors je dois cliker sur les onglets pour arriver a ce bouton alors kel interet autan aller directement sur longlet!!!!!!!!
toi comprendre g donc virer les onglets et creer des bouton sur une feuille ki facilite lacces o differentes feuilles et un retour sur chaque feuille a la feuille dorigine mais cela serai plus net avec un menu deroulant dou mon intervention....
 

G.David

XLDnaute Impliqué
dans vbe tu fait des petite maqueraux (pas des sardines)
sub point1()
sheets(1).select
end sub

vingt et une donc
point1 à point21
avec sheets(1) à sheets(21)

puis dans affichage du fait personaliser tu ajoute un menu dans le quel tu colle tes macros
soit sur une barre existante soit sur une barre perso lie au classeur
il y a plein de post sur les barre d'outils (j'en ai lu ,donc)
cette solution à l'avantage d'etre prévu par excel
Cordialement
G.David
 

Ti_

Nous a quitté
Repose en paix
Salut à tous
moi, je me permets d'intervenir dans ce fil pour te conseiller d'essayer d'écrire dans un français correct. C'est déjà pas toujours évident de comprendre les questions posées, si en plus il faut décrypter du sms, on ne s'en sort plus.
Ceci dit, tu peux essayer la solution de G. David qui n'est guère compliquée à mettre en oeuvre.
 

Discussions similaires

Réponses
20
Affichages
612

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh