intitulé d'un sous-menu

mutzik

XLDnaute Barbatruc
Bonjour à toute la grande famille,

Voila mon prob :
j'ai un classeur avec 66 feuilles (onglets). La plupart sont des graphiques regroupés par famille
J'ai donc crée du code qui me rajoute un element de menu dans lequel se trouvent les sous-menus suivants

- graphs semaine
- graphs mensuels
- datas source semaine
- datas source mensuels
- autres

Pour chaque section de sous-menus, les graphs commencent toujours par le même intitulé soit grsem-xxx pour les graphs semaine, grmens-xxx pour les mensuels et ainsi de suite

Cette methode me permet de boucler sur mes noms de feuilles (onglets) et de rajouter en sub.menuitem le nom de la feuille dans la catégorie qui va bien.

Ma question est : comment associer une seule macro à ces noms de feuilles pour activer la feuille correspondante (en récupérant le caption de ce sous.menu)

Merci à toutes et tous
Bien à vous
 

Creepy

XLDnaute Accro
Bonjour le Forum, Mutzik,

Je suis pas sûr d'avoir bien compris mais je vais te donner la solution en fonction de ce que je pense avoir compris !

Pour passer des parametres sur une macro :

Si tu ne renvoies rien :

Code:
Sub MaMacro(Byval Nom as string)
  msgbox Nom
end sub

Pour l'appeller :
Code:
Call MaMacro(Mavariable ou 'DEDE')
par exemple

Si ta macro doit te renvoyer quelque chose

Code:
function MaMacro(Byval Chiffre as integer) as integer
  Mamacro = Chiffre fois * 2
end function
Pour l'appeller :
Code:
Call MaMacro(2)
Dans ce dernier cas lorsque que tu arriveras à la ligne au dessous de ton appelle mamacro vaudrat 4 (2*2)

Voila

@+

Creepy

PS : Le Creepy il est pas sur de pas etre ZOP là !
:)
 

Luki

XLDnaute Accro
Salut Bertrand, Creepy,

Si j'ai compris ( pareil que Creepy, au risque du ZOP!):

1)Chaque section de sous menu liste plusieurs graph qui se trouvent sur une même feuille.
2) une seule macro doit être commune à chacqun des items de cette section


Une piste, j'utiliserais ( de mémoire) le command.bar.active control ou un truc comme ça, pour récupérer l'item qui active la macro, puis bien sûr son caption ou son tag si tu l'as généré et de là, le nom de feuille qui va bien.

J'essairai de me pencher plus en détail tout à l'heure.

Creepy, quand j'appelle une macro, je n'utilise pas le 'call'. Quel est l'intérêt de l'utiliser?


A +
 

Luki

XLDnaute Accro
Re,

J'ai retrouvé:

CommandBars.ActionControl. puis caption ou tag...

Donc , quand tu crées ton sous-menu tu lui affectes une macro ' on action':

MonSousMenu.onaction='MaMacro'

Puis tu l'appelles en appuyant su'l bouton! :

sub MaMacro ()
sheets(CommandBars.ActionControl.caption).activate
end sub

Reste à vérifier que tu peux récupérer directement le 'caption'. Je sais que ça marche avec 'tag'.

Si tes noms de graph sont génériques, tu les récupère via les fonctions de string, je te fais confiance pour ça!

A+ :)
 

mutzik

XLDnaute Barbatruc
Luki, tu es mon sauveur, je devais rendre cette appli pour lundi, je vais pouvoir passer un excellent week end grace à toi.

L'appli en elle meme fonctionnait bien, j'ai rajouté plein de menus ... et il me manquait cette petite info pour pouvoir la finir (en fait, c'était la cerise sur le gateau)

Je vais mettre en ligne prochainement cette appli (sans les données bien sur) afin que beaucoup de personnes qui ont des prob avec les menus puissent profiter de cela (avec une demande de test de l'équipe de choc, bien entendu)

Ce gros projet explique mon absence de ces derniers temps ...

Creepy, le zop, je considère cela que quand on a vraiment tapé à coté avec une réponse sur un sujet bien expliqué. En me relisant, je ne suis pas forcément sur de comprendre correctement ce que je voulais, mais luki a tapé dans le mille

Merci à tous les deux et un excellent week-end

Bye
 

Statistiques des forums

Discussions
312 344
Messages
2 087 447
Membres
103 546
dernier inscrit
mohamed tano