Convertir en nombre des chiffres issus de Userform/ComboBox

bonjour,

j'ai créé des listes de validation via un userform (j'ai utilisé un userform car je souhaitais avoir + de 8 choix dans ma liste déroulante).

lorsque j’applique un userform à une colonne qui contient des %, lorsque j'utilise ma liste déroulante, les % sont devenus des chiffres décimaux convertis en texte...donc inutilisables pour une formule de calcul. J'aimerais donc les reconvertir en nombre.

Voici le code appliqué à mon userform:

Private Sub UserForm_Initialize()
  Me.ComboBox6.List = Sheets("Biblio").Range("I11:I14").Value
  If Val(Application.Version) > 10 Then SendKeys "{F4}"
End Sub
Private Sub ComboBox6_click()
  ActiveCell.Value = Me.ComboBox6
  Unload Me
End Sub

Sur un autre forum, pour convertir du texte (issu d'un userform) en nombre, j'ai trouvé qu'il fallait rajouter ça :

range('A1')=val(textbox1)
ou
range('A1')=dbl(textbox1)

Mais je ne sais pas à quel endroit de mon code le rajouter...

Idem pour cette solution qui fait appelle à "Cdbl" https://forum.excel-pratique.com/viewtopic.php?t=67245

Qq'un pourrait-il me dire comment modifier mon code svp?

Bonjour,

Si ton soucis c'est sur cette ligne de code :

ActiveCell.Value = Me.ComboBox6

Il faudra selon moi faire ça :

cdbl(ActiveCell.Value) = cdbl(Me.ComboBox6)

Ça marche aussi avec un Cstr

Tu peux retrouver toutes les fonctions de conversión dans VBA.Conversion en tapant Conversión dans la barre de recherche de l'explorateur d'objets, puis en regardant tous les membres de l'objet Conversión

Bonjour ausecours

merci pour ton aide. Alors j'ai testé ce que tu as indiqué, à savoir remplacer dans le code cette ligne :

ActiveCell.Value = Me.ComboBox6

par cette ligne :

cdbl(ActiveCell.Value) = cdbl(Me.ComboBox6)

mais cela me donne une erreur de compilation :

5081

Bonjour,

Pour convertir un nombre décimal interprété comme du texte suite au remplacement du point décimal anglo-saxon par la virgule, il suffit d'utiliser la fonction "CDEC"

ActiveCell.Value = CDEC(Me.ComboBox6)

+1 thev ça fonctionne impec

merci à vous 2

Bonjour hendrix, thev, le forum,

Tu a écrit :

+1 thev ça fonctionne impec

c'est très gentil de ta part d'avoir écrit ça, mais pour le faire effectivement, tu dois cliquer sur le situé dans le coin bas droit du post de thev que tu as aimé, donc son post de 13:04 (tu verras que le devient opaque).

c'est très bien aussi d'avoir passé le sujet en résolu, mais la prochaine fois, clique plutôt sur le bouton du post qui a résolu ton exercice.

dhany

Bonsoir Dhany,,

Merci de ton intervention.

Je pense que Hendrix a confondu avec une démarche existante sur un autre Forum où l'on note effectivement avec des "+1".

bonjour,

dsl pour les usages, voilà qui est rectifié.

Aussi, je me posais la question suivante : dans l'exemple ci-dessous, il s'agit d'une liste déroulante appelée via un Userform.

rmq0

Lorsque je fais un double clic sur la cellule verte (où il est indiqué 0%), ma liste déroulante s'affiche. Admettons que je choisisse le texte suivant : " 0% = mesure ne présentant aucune difficulté technique et pouvant être réalisée sous 8 jours"

Dans la cellule verte, je vais avoir, en toute logique, le texte " 0% = mesure ne présentant aucune difficulté technique et pouvant être réalisée sous 8 jours" qui va apparaître.

Sauf que ce qui m'intéresserait, c'est d'avoir seulement la valeur en % qui apparaisse, et pas le texte en entier! C'est pour que je puisse me servir de cette valeur en % pour faire des calculs par la suite...

Certes je pourrais virer le texte et me contenter des valeurs en % dans ma liste déroulante, mais d'un autre côté, je trouve utile lorsque la liste déroulante s'affiche, de savoir à quoi correspondent 10%, 20%, etc... car on est plusieurs à utiliser le fichier.

Cela supposerait donc qu'après avoir appelé mon Userform, j'ai la liste déroulante sous les yeux (avec le descriptif du texte pour chaque %), et que lorsque je choisis un %, eh bien cela ne renseigne que les 4 premiers caractères (c'est à dire extraire la valeur en %)...

Avez-vous déjà essayer qqchose de similaire?

Rechercher des sujets similaires à "convertir nombre chiffres issus userform combobox"