XL 2010 Indices dans ComboBox au comportement curieux

Magic_Doctor

XLDnaute Barbatruc
Bonsoir,

Dans une base de données il y a une suite de formules chimiques du type H₂O, NaHCO₃. Tous les chiffres sont en indice, comme le stipule toute bonne formule chimique.
Je récupère cette liste dans un ComboBox.
Je déploie la liste du ComboBox, toutes les formules chimiques ont bien leur(s) chiffre(s) en indice.
Je choisis, par exemple, H₂O. Dès que je désélectionne le ComboBox, celui-ci m'affiche H2O, ce qui est franchement très laid.
Est-il possible que le ComboBox affiche, une fois celui-ci désélectionné, H₂O ?
 

Dudu2

XLDnaute Barbatruc
Bonjour,
Dans la ComboBox c'est du String pur et dur et donc il n'y aura pas le format indice pour le nombre d'atomes.
Par contre je ne comprends pas ce que tu veux dire par "Dès que je désélectionne le ComboBox".
C'est quoi une ComboBox désélectionnée ? Et où devrait s'afficher H₂O ?
 

Dudu2

XLDnaute Barbatruc
De toutes façons, je ne vois pas de Control en UserForm qui te formate du texte comme ça.
Il faut choper l'image de la cellule source et la placer dans le UserForm.
 

Pièces jointes

  • ImageMolécule.xlsm
    27.3 KB · Affichages: 2

job75

XLDnaute Barbatruc
Bonjour Magic_Doctor, le forum,

En effet c'est agaçant, on peut y remédier avec la Shape "Rectangle 1" placée sur la ComboBox.

Les macros dans le code de la feuille :
VB:
Private Sub ComboBox1_LostFocus()
Shapes("Rectangle 1").Visible = True
End Sub

Sub Macro_Shape()
Shapes("Rectangle 1").Visible = False
ComboBox1.Activate
End Sub
Dans la barre de formule de la Shape il y a la formule =B4

Edit
: salut Dudu2, XLD n'était pas rafraîchi.

A+
 

Pièces jointes

  • Classeur(1).xlsm
    21.3 KB · Affichages: 11
Dernière édition:

Dudu2

XLDnaute Barbatruc
Bonjour @job75,
Ton truc est très fort ! Avec la LinkedCell de la ComboBox reprise par la Shape Rectangle.
Par contre je remarque que la ComboBox Active X sur la feuille affiche les formats de sa source et pas la ComboBox Control de UserForm. Bon... OK.
 

Magic_Doctor

XLDnaute Barbatruc
Bonjour Dudu, job,

Bon, c'est clair : ce n'est pas possible.
Excel n'aime pas les indices et est plutôt destiné aux comptables qu'aux chimistes...
Liste déployée :
Ex1.jpg

ComboBox au "repos" :
Ex2.jpg

C'est franchement abominable.
On sélectionne le ComboBox :
Ex3.jpg
 

Dudu2

XLDnaute Barbatruc
Vu que c'est une ComboBox sur feuille, il te faut appliquer la technique de @job75 qui n'est pas tout à fait triviale et mérite quelques explications !

1- Créer la ComboBox
> Dans sa propriété LinkedCell mettre l'adresse d'un cellule planquée quelque part (il a mis B4)

2- Créer une Shape Rectangle exactement sur la zone de la ComboBox (hors bouton DropDown)
> A cette Shape assigner la Macro Macro_Shape qu'il a mis dans la feuille (adapter les noms si nécessaire)
> A cette Shape assigner une formule =<Cellule LinkedCell> (il a mis =B4)

Je me demande s'il n'avait pas déjà ça dans ses cartons ;).
 

Magic_Doctor

XLDnaute Barbatruc
Merci pour vos efforts, mais même si j'avais compris la stratégie de job, c'est un peu compliqué pour un truc où il ne devrait y avoir aucune complication.
Les ActiveX mériteraient sérieusement d'être améliorés afin qu'ils soient plus conviviaux et versatiles. Que des ComboBox ne puissent pas montrer spontanément des formules chimiques sous une forme esthétique, là c'est une aberration ! Idem concernant la molette de la souris –qui existe depuis une bonne vingtaine d'années et qu'absolument tout le monde utilise en permanence...– qui ne fonctionne pas avec ces objets.
Je laisse donc tomber les formules chimiques dans des ComboBox. Peut-être qu'en 2030...
Au fait, il y aura une quinzaine de ComboBox, alors vous comprenez...
 

Dudu2

XLDnaute Barbatruc
@Magic_Doctor,

Dommage que tu n'utilises pas la méthode @job75 que perso je n'ai pas comprise de suite avant d'analyser les objets de la feuille. Il faut bien palier les manques d'Excel en s'amusant un peu.

Et pour cette analyse j'ai dû utiliser cet outil (qui tombe parfois en marche) que j'ai amélioré cet aprem pour traiter les groupes de Shapes et que je m'empresse de partager avec vous, alors même que je sais que vous n'en avez rien à faire !
1635710294192.gif
 

Pièces jointes

  • VBA Objets Shapes détecter, renommer, supprimer.xlsm
    92.9 KB · Affichages: 5
Dernière édition:

job75

XLDnaute Barbatruc
Le phénomène qui vous gêne Magic_Doctor concerne les ComboBox et les TextBox.

Avec les ListBox aucun problème, voyez ce fichier (2).

Pas besoin de macro sauf éventuellement dans Thisworkbook pour dimensionner.

Edit : cela dit perso j'utiliserais tout simplement une liste de validation !

Bonne nuit.
 

Pièces jointes

  • Classeur(2).xlsm
    22.6 KB · Affichages: 5
Dernière édition:

Magic_Doctor

XLDnaute Barbatruc
Re,

Ce n'est pas bien grave, plutôt que de désigner les produits par leur formule chimique, je mettrai tout simplement leur nom. Après tout, il n'y en aura pas beaucoup. Mais la formule chimique, ça en jette !
J'ai conçu au départ une application où peuvent apparaître un certain nombre de ComboBox suivis tous, sur la même ligne, d'un TextBox, d'un CheckBox et de 2 ComboBox. Pour des raisons, disons, esthétiques, je préfère le look du ComboBox à celui du TextBox.

A+
 

Magic_Doctor

XLDnaute Barbatruc
Pardon, je voulais dire ListBox. D'autant plus qu'il y aura une trentaine d'items dans chaque liste. Toutes ces listes superposées, ça prend de la place... Alors qu'avec des ComboBox, c'est nettement plus concis.
C'est quand même intéressant de s'apercevoir que Microsoft devrait sérieusement booster les ComboBox.
 
Dernière édition:

Statistiques des forums

Discussions
312 094
Messages
2 085 231
Membres
102 828
dernier inscrit
cdupire