Creer une entree dans le ruban ou les menus

Bonjour

Je me débrouille plutôt bien avec excel mais je n'y connais absolument rien en VBA hélas

Donc j'ai réussi quand même a force de glaner des infos a droite et a gauche a créer 2 macros qui miracle marchent

Mais maintenant j'aimerais pouvoir créer une entrée (icône ou ligne de menu) dans le ruban ou les menus rien que pour ce classeur et qui lancerait a chaque fois une macro (donc en fait il faudrait créer 2 entrées mais si je sais comment en créer une je saurai faire l'autre je pense)

Donc voila si quelqu'un peut et veut bien m'aider merci par avance

PS: je ne veut pas de la solution de créer un bouton et y affecter une macro car ça je sais faire mais bel et bien une entrée dans les menus ou le ruban mais que pour le classeur concerne

Encore Merci par avance

NB : veuillez SVP être très explicite car comme dit je n'y connais rien en VBA Merci

Bonjour,

Quel est l'objectif de la manœuvre ?

Il est possible de lier l’exécution d'une macro à un raccourci clavier ou à une action particulière sur la feuille (un "évenement") : ouverture ou fermeture du classeur, enregistrement, double clique ou sélection d'une cellule dans une zone particulière, etc...

Bonjour

Bein le but c'est de pouvoir lancer les macros sur n'importe quelle feuille 12 ou 13 a partir du ruban ou du menu comme n'importe quelle autre commande et sans avoir a mettre des boutons sur chaque feuille

En fait lorsque j'ai poste le message apres validation sont apparu des sujets et j'ai reussi a faire ce que je voulais avec l'outil dont on parlait sauf que je n'arrive toujours pas a lancer la macro par contre les boutons eux sont bien la et ca marche tres bien

Comme en plus l'outil en question est en anglais et que je n'y connait rien non plus en anglais j'ai bien essayer des trucs genre "affecter une macro" mais alors comme sur la photo le bouton est grise et la macro ne se lance pas

Voila j'espere que c'est assez clair mon explication et je joins une image du resultat souhaite (fait avec l'outil idbe ribbon creator)

exemple ruban excel

bonjour,

Fournir le fichier (avec la macro) svp

A+

alors le fichier n'est pas encore prêt pour le moment je fais juste des tests avant de tout mettre en place et après avoir tout plein de code qui se promène suite aux essais et erreurs

desole

sinon j'ai deja ca si ca peut aider

33test1.xlsm (81.56 Ko)

Bonjour,

Je n'ai pas tout compris dans ton jargon :

idbe ribbon creator génère une floppée de laïus qui me semble bien inutile, mais je suis vraiment encore un peu novice pour juger...

J'ai fait un peu de ménage, mais ce qui me semble évident c'est que le :

<button idMso="MacroAssign" pose problème :

Je l'ai remplacé par :

<button id="btn2"

(J'en ai aussi profité pour élaguer...)

puis j'ai modifié :

Public Sub OnActionButton(control As IRibbonControl)
Select Case control.id
        Case "btn2"
            Date_ech
        Case Else
            MsgBox "Button """ & control.id & """ clicked" & vbCrLf & _
                           "Es wurde auf Button """ & control.id & """ in Ribbon geklickt", _
                           vbInformation
    End Select
End Sub

Et le traitement semble efficace.

A voir...

A+

35test-ribbon.xlsm (31.29 Ko)

Super je vais tester demain pour voir

je suis tout a en accord avec toi concernant le laïus généré, c'est justement la raison pour laquelle j'aimerai avoir une solution plus simple ou plus courte

donc est ce qu'il suffirait de reprendre ton code pour avoir le même résultat ou faudra t il toujours encore le idbe ribbon creator ?

si je pouvais m'en passer je préférerais (mais en ayant le même résultat bien entendu et s’entend même résultat au niveau exploitation du fichier)

En tous cas merci pour votre aide

Bon alors c'est génial ça marche nickel

je remets le fichier avec quelques infos comme cela tu peux voir ce que mon laïus fait exactement

reste juste la question :

est ce qu'il faut que je garde le laïus de idbe ribbon creator ou je peux juste mettre ton code a toi ?

Mille fois merci

PS: essaie sur la feuille janvier et aussi février tu comprendra peut être mieux en fait ça met des dates d'échéance a partir de juste un jour en se basant sur l'index de la feuille et d'une info en B5 pour l’année

35test-ribbon.xlsm (34.58 Ko)

Très bien.

Pour moi trop de commentaires tue le commentaire et rend le code illisible : il s'agit donc de ne laisser que ce qui peut t'être réellement utile...

Tu peux bien virer ou non tout ce qui est commentaire dans les callback (Attention toutefois si tu commentes une partie d'un Select case à commenter également le case Else...)

Et personnellement je virerai aussi tout ce qui provient de idbe ribbon creator qui me semble comment dire...purement "commercial"

Dans mon éditeur j'en ai viré toutes les options apparemment inutile. En cas de besoin tu peux toujours en rajouter une si elle te fait défaut. (Je pense en particulier à la propriété tag que je trouve bien pratique dans certaines situations...)

Il existe par ailleurs maintenant une abondante documentation gratuite et d'autres utilitaires plus récents, richement commentés et gratuits pour que tu puisses t'en affranchir...

Après toute modification se fait sous ta responsabilité exclusive et il t'appartient de procéder à des sauvegardes régulières et numérotées/datées de tes modifications pour pouvoir revenir en arrière si tu fais des modifs malencontreuses...

Sous cette réserve (faire des copies régulières) tu ne risques rien : Toute modification incorrecte se solde par la disparition de ton ruban perso, et dans ce cas TAPUKA revenir en arrière et recommencer !

A+

merci pour tes infos

mais déjà peux tu me dire quel éditeur tu utilise et comment tu arrives a lister tous les codes car moi dans macro j'ai juste ce que j'ai créer moi

ensuite peux tu sans faire de pub bien sur lol me donner des indications des autre outils dont tu parles

merci encore et désolé pour le dérangement

Bonjour,

C'est un peu difficile de te répondre sans te faire une encyclopédie. Car le sujet est vaste et demande quand même un gros travail d'apprentissage. En cherchant un peu sur Google avec les mots clefs ribbon Custom UI Editor tu devrais tomber sur une documentation nombreuse malheureusement très souvent en anglais.

Comme je suis un dinosaure j'utilise un vieil utilitaire qui date du crétacé supérieur... Pardon de 2008 environ ! et qui s'appelle Custom UI Editor for Microsoft. J'en ai aussi quelques autres, notamment un qui fonctionne sous access mais qui permet de travailler n'importe quel ribbon Office...

Dans l'ensemble tous ces utilitaires supposent que tu t'infuses quand même pas mal de documentation relative à ce type de travail. Ça ne se digère pas en quelques heures :

http://dj.joss.free.fr/ruban.htm

http://www.andypope.info/vba/ribboneditor.htm (en anglais)

Il en existe bien d'autres fort crédible, mébon quand tu auras déjà digéré TOUSSA... De plus dans la plupart de ces liens, tu trouveras des références à d'autres auteurs...

A+

dis moi une question

comment tu fais pour modifier le fichier, car j'ai essaye avec notepad+++ mais a la moindre modif j'ai des messages d'erreur a l'ouverture dans excel

Télécharge ce fichier

(mode d'emploi dans le premier de mes précédents liens)

Le même dans une version plus récente (non testé mais dont les retours sont satisfaisants...)

Egalement en anglais ici nombreux articles sur ce thème.

A+

Encore une petite question

lorsque j’édite les macros dans excel dans le "module 1" tout est ok

mais par contre dans le "bascallback" est ce que je suis oblige de garder tous ces trucs qui y figurent ????

Les commentaires on s'en fout.

Les callbacks proprement dit conditionnent l'état de tes contrôles et leur fonctionnement.

Les contrôles qui n'existent pas n'ont pas besoin de callback.

Dans la situation actuelle, je pense que l'essentiel est :

Public gobjRibbon As IRibbonUI
Public bolEnabled As Boolean
Public bolVisible As Boolean

Public Sub OnRibbonLoad(ribbon As IRibbonUI)
    Set gobjRibbon = ribbon
    bolVisible = True
    bolEnabled = True
End Sub
Public Sub GetEnabled(control As IRibbonControl, ByRef enabled)
   enabled = bolEnabled
End Sub
Public Sub GetVisible(control As IRibbonControl, ByRef visible)
   visible = bolVisible
End Sub
Public Sub OnActionButton(control As IRibbonControl)
    Select Case control.id
        Case "btn2"
            Date_ech
        Case Else
            MsgBox "Button """ & control.id & """ clicked" & vbCrLf & _
                           "Es wurde auf Button """ & control.id & """ in Ribbon geklickt", _
                           vbInformation
    End Select
End Sub

Tout le reste ce sont des exemples pour des constructions à venir...

A+

Merci c'est ce que je pensais aussi mais je voulais confirmation avant de faire des bêtises surtout que j'ai passe l'age d'en faire lol

Donc je vais faire le ménage

Encore mille fois merci pour ton aide et bonne continuation

Quand j'aurais fini le tout je le proposerais au site dans les programmes a télécharger comme les 2 autres qui sont déjà en ligne depuis belle lurette

Slt galopin01

Desole de te deranger encore mais alors que marchait a perfection lors des differents tests lorsque j'ai voulu mettre tout cela au propre rien ne marche plus, pourtant j'ai repris exactement les memes codes qu'avant en adaptant juste les cellules et les plages de cellule a la realite.

Alors par contre j'ai fait une feuille "janvier" que j'ai rempli au max et ensuite je l'ai recopier 11 fois pour les autres mois, est ce que cela peut jouer ?

Par exemple lorsque je lance la macro "tri" j'ai un message d'erreur qui me parle de cellules fusionnees alors que dans la plage en question il n'y en a pas.

Ensuite je ne sais pour quelle raison toujours avec la macro "tri" a priori ca me selectionne la meme plage sur toutes les feuilles (est ce que cela peut provenir de la recopie des feuilles) ?

Puis je n'ai plus l'onglet et les 2 boutons dans le ruban non plus, la encore mystere pour moi alors que les test marchaient nickel

Peut tu m'aider STP

j'ai aussi une autre bizarerie au lancement il ne me parle plus d'activer les macros ?????????? alors qu'il y en a

je te joins le fameux fichier en question

6gest-2cpt2b.xlsm (382.75 Ko)

bonsoir,

il n'y a pas de ribbon perso dans ton fichier, pas d'erreur de tri non plus. (sur les " lignes que tu m'as généreusement laissées pour tester.

Bon une autre fois si tu veux un coup de main tu me donnes autre chose qu'un squelette vide hein... Je te demandes pas que toutes les feuilles soient remplies mais au moins 2 avec une dizaine de lignes je suis sur que ça te fouerait pas plus.Et puis bien sur le ribbon KIVABIEN avec parce que sans ça que veux tu que je te dise ? Le ribbon pour le moindre espace ou > manquant il se met en grêve...

Bon ceci dit je suis encore là demain et après il faudra attendre l'année prochaine !

Bonne Année à tous !

A+

Slt et toutes mes excuses mais je t'ai envoyé le fichier tel que je l'utilise moi (il n'est pas rempli chez moi non plus)

Alors 2 problèmes j'ai entre-temps et après mures réflexions réussi a les régler

1- les échéances ne marchaient pas a cause de mauvaises références en fait (j'ai pas pense que sur ce tableau j'avais un décalage par rapport au fichier test) donc les échéances ça y est ça marche nickel

2- pour le ribbon c'est vraiment tout con mais en réalité j'avais pas créé l'onglet ni les boutons donc la macro ne pouvait effectivement rien afficher

Reste plus que le problème des tris

Encore merci pour ton aide et encore désolé pour le dérangement

Je te joins quand même mon fichier rectifie mais toujours aussi vide hélas, mais je vais voir demain pour le remplir un peu

19gest-2cpt2b.xlsm (387.26 Ko)
Rechercher des sujets similaires à "creer entree ruban menus"