Reinitialiser un Combobox de ruban

Bonjour à tous !

Just'un petit souci maintenant que je me penche vers la personnalisation du ruban !

En fait, j'ai créé un combobox avec CustomIUEditor avec en vba une macro onChange ...

Elle fait pas mal de chose mais pour simplifier en ne prenant que le début, elle indique dans la cellule sélectionnée le texte choisi par la combobox que je réinitialise en mettant à blanc (MonRuban.InvalidateControl "combo1")

Hélas, si je sélectionne une nouvelle cellule dans laquelle je veux indiquer la même chose, je choisi le meme item de la combo mais là rien ne se passe - avec un autre item, ca fonctionne ce nouvel item choisi

En fait, la combo ne change pas donc la macro onChange ne s'applique pas ... bien que je croyais qu'Invalidate réinitialisait entièrement la combo (le cache)

Si vous avez une idée, je suis preneur !!

Bonjour,

Pour réinitialiser la valeur de la Combo, il faut utiliser la macro "GetText" avec returnedVal = Empty.

Par ailleurs CustomIUEditor est obsolète. Mieux vaut utiliser Office RibbonX Editor.

Dans ma macro, je fais un appel de la macro gettext (call gettext)? Et OK, je vais tester ribbonx editor Merci

Je viens de faire différents tests ... perdu !

RibbonXEditor parait tres bien et beaucoup + complet mais limité à 2~3 groupes (...) en shareware sinon payant !

Dans ma macro, je fais un appel de la macro gettext (call gettext)

La fonction de rappel "gettxt" doit d'abord être rattaché au contrôle Combobox du ruban personnalisé via CustomIUEditor ou Office RibbonX Editor. Ensuite il faut ajouter la procédure événementielle correspondante dans le module VBA gérant les évènements du ruban.

La fonction de rappel "gettext" est bien rattachée au contrôle Combobox de mon ruban

Ensuite la procédure événementielle est bien dans mon module VBA

A l'ouverture du classeur, la fonction gettext est bien executée (ajout d'un msgbox pour verifier) tout comme lors d'un choix d'un item de cette combo (initialisée en fixe dans le xml)

Le returnedVal = empty reinitialise bien cette combo (qui devient donc vide)

Par contre si je rechoisi ensuite le meme item, le msg (donc la getext tout comme la fonction de rappel onchange) n'est plus appelée ...

Bonjour,

Je ne sais pas comment vous avez programmé votre ruban mais en testant le cas que vous signalez, je n'ai pas le problème que vous signalez.

Merci bc^p pour l'interet que vous y mettez mais là, je seche !

Je joins mon fichier que j'ai largement simplifié ... en espérant que vous y trouviez une faille !

26mc-simplifiee.xlsm (873.51 Ko)

Bonjour,

Je n'ai pas trouvé de faille mais vous pouvez choisir 2 autres solutions :

1- Charger votre ComboBox à l'exécution, ce qui vous permettra de sélectionner 2 fois le même élément

2- Remplacer votre contrôle Combobox par un contrôle Gallery avec une procédure Sub associée à chaque élément.

Oui, merci !

Réinitialisée avec un contrôle gallery avec un select case index dans l'onAction ... Bon, ça n'explique tjs pas mon souci mais au moins ça marche

L'idée du combo chargé à l’exécution, ça aurait fonctionné pour 2 fois mais pour 3 ??

Pour finaliser, une imageMSO par item c possible ? comme centrer les labels ?

L'idée du combo chargé à l’exécution, ça aurait fonctionné pour 2 fois mais pour 3 ??

C'est le cas que j'ai testé et qui fonctionne sans problème. En revanche, associer une image à chaque item est plus complexe mais doit être possible à partir d'icones stockées dans un dossier Windows (les images MSO ne peuvent être utilisées que dans la programmation XML du ruban mais elles sont téléchargeables).

Cool ! Grace à ton aide, j'ai enfin obtenu ce que j'attendais ! Merci

Pour info, mes items de gallery étant fixes, je les ai déclarés dans le XML et j'ai donc pu y associer des logos (imageMSO)

Rechercher des sujets similaires à "reinitialiser combobox ruban"