VBA Excel - Comment créer une combobox contenant texte et image?

dorianovitch Messages postés 6 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 10 janvier 2008 - 10 janv. 2008 à 14:10
dorianovitch Messages postés 6 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 10 janvier 2008 - 10 janv. 2008 à 15:40
Salut,

Je recherche comment créer une combobox contenant du texte et des images.

J'ai trouvé un petit quelque chose, mais ça ne fonctionne pas...
http://www.vbfrance.com/codes/OCX-INCOMBOVIEW-SORTE-MELANGE-COMBOBOX-LISTVIEW_40593.aspx

Le contrôle a rajouter inComboBoxView fait planter Excel en beauté dès que j'essaie d'en intégrer un dans la UserForm...

Il s'agit de la seule source VBA que j'ai trouvé sur le sujet...

Et même en tant que tel, elle ne me plait pas...
J'aime pas trop bidouiller le regsvr32.exe...

Aussi, je me demandais si il n'y avait pas moyen (comme c'est apparemment le cas en VB.net) de faire un petit quelque chose, un petit subterfuge quoi, pour pouvoir mettre des images a coté de texte dans les lignes d'une combobox sans devoir monter d'ocx ou dll ou quoi que ce soit de supplémentaire?

Merci.

Cordialement.

Dorianovitch

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 janv. 2008 à 14:54
salut,

pas testé mais présents :
tu ne peux pas utiliser Microsoft ImageCombobox Control 6.0 (SP4) et Microsoft ImageList Control 6.0 (SP4) ?
tous 2 dans MSCOMCTL.OCX
++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
dorianovitch Messages postés 6 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 10 janvier 2008
10 janv. 2008 à 15:08
Salut,

Tout d'abord, merci PCPT et bravo pour la vitesse de réaction.

Ce qui est drôle (enfin, si on veut...) c'est qu'on se prend la tête des heures sur un truc, on trouve pas, on voit pas, et les recherches donnent rien, alors on se decide a poster un message...

Et dans l'heure qui suit, quasiment toujours, on trouve la solution...

J'ai trouvé une solution...

Effectivement, tu as raison, il faut utiliser et Microsoft ImageList Control 6.0 (SP4)...

Je peux donc maintenant mettre des images dans des combobox...

Par contre, le problème se corse... (je sais pas si je dois demarrer un nouveau post, encore que ca concerne directement la combobox avec image...)

Je bosse dans une entreprise qui a un immense reseau informatique...
Je suis toujours sur le meme poste, autant dire qu'avec le temps, je l'aurais "formé" a force de le manipuler...

Le soucis vient de la...
Les macros que je developpe devront fonctionner sur tous les postes, or lesdits postes ne comprendront jamais ce que sont les propriétés imageCombo ou imageList si personne ne va monter sous VBE les references que tu m'as tres justement donné...

Alors je me demandais, y-a-t-il moyen de monter ce contrôle supplémentaire par code, de facon dynamique?
(comme ca, je commence par monter ces contrôle, puis derrière, je serais capable d'exécuter le code... J'espere m'etre fait bien comprendre, lol)

Merci

Cordialement

Dorianovitch
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 janv. 2008 à 15:28
umm...
à partir du moment où ton projet (fichier excel) a bien référencé tes contrôles (et c'est forcément le cas), la macro fonctionnera sur les autres postes.
surtout dans ce cas de figure où ces contrôles sont fournis avec excel...
j'émets une toute petite réserve, au cas où le SP4 viendrait d'une maj que j'aurais fait je ne sais pas quand.... mais ne touchant jamais à excel (2000 premium), logiquement çà devrait passer sur tous tes postes
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
dorianovitch Messages postés 6 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 10 janvier 2008
10 janv. 2008 à 15:40
Re Salut,

Ok, bon, bah laissez tomber tous...

Ca fait 16 minutes que j'ai posté le precedent message, et je viens seulement de m'apercevoir de l'enormite de ce que j'ai ecrit...

Encore que ce n'est pas si enorme, c'est juste qu'avec les elements que je vous ai donné, non seulement vous n'avez surement pas tout compris, mais en plus, ma demande a du paraitre bizarre...

De votre point de vue, quel interet de monter ces controle supp. en dynamique? (puisque a priori, le code est rattaché a un doc. excel, qui possede donc tout, vu que quand c'est monter, c'est monter une bonne fois pour toute!)
Mais justement, mes macros ne sont pas rattaché a des doc. Excel...
une fois finalisees, je les exporte...
En fait, Excel est piloté par une autre application... un doc. Excel est crée et ensuite tout se passe en dynamique... Excel se pilote lui-même, grâce au VBIDE et va chercher le module en *.bas, *.frm ou *.cls que je veux executer, apres avoir monté les ref. qui vont bien...
Puis quand c'est fini, Excel enleve de son projet VBA tout module, UserForm ou ClassModule avant de se fermer proprement...

Si vous arrivez a comprendre jusque la, bravo! LOL...

Ma recherche d'un combobox avec image concerne justement le choix des macros...

Actuellement, j'ai un UserForm qui propose des images associées à un label pour chaque application...
On clique sur l'iamge et la macro se lance apres tout le bazarre explique plus haut puis se ferme "proprement"...

Mais le truc c'est que ce UserForm, il faut le modifier a chaque nouvelle macro, ainsi que d'autre fichiers vu que les Paths sont en dur (pas un soucis, je peux aussi utiliser des variables d'environnement)... bref, c'est lourd...

Donc je cherchais un moyen de me debarasser de ce USF...

Bon, la route est encore longue mais deja, au moins, je sais comment mettre images et texte dans un combobox...

Enfin, pour ceux qui se seront accrochés jusqu'ici, sachez que l'activation des contrôles supplémentaires et Microsoft ImageList Control 6.0 (SP4) ne sert que pour la création des box...
mais pour leurs utilisations, a priori, pas de soucis, le code est compris par VBE Excel même s'il ne dispose pas de ces contrôle à la base dans ses barres d'outils!

Voila

Desolé d'avoir fait le boulet...

Merci à tous

Cordialement

Dorianovitch
0
Rejoignez-nous