Problème format texte en nombre (VBA)

Résolu/Fermé
Kris01. Messages postés 3 Date d'inscription lundi 10 février 2020 Statut Membre Dernière intervention 11 février 2020 - 10 févr. 2020 à 21:36
Kris01. Messages postés 3 Date d'inscription lundi 10 février 2020 Statut Membre Dernière intervention 11 février 2020 - 11 févr. 2020 à 15:57
Bonsoir à tous,

Je me permets de vous écrire car j’ai un problème de macro.
En effet, je rempli sous user forme plusieurs valeur dans les textbox et par la formule suivante j’arrive à renseigner une feuille Excel :
Sheets(« ma feuille »).range(« macellule »).value = me.textbox.value

Pour transformer mes valeurs issues des textbox en format nombre, j’ajoute « * 1 » à la suite de cette formule où « cdbl » avant (me.textbox.value)

Ceci fonctionne concernant la conversation de mes valeurs textes en format nombre cependant lorsque qu’une textbox n’est pas remplies, mon code plante et l’ensemble des valeurs reste en format texte.

Pouvez vous m’aider SVP ?

Merci de votre aide
Cordialement

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
11 févr. 2020 à 15:42
Bonjour,

> CDbl => transforme une donnée de type numérique (ou qui y "ressemble") en Double.
Pas une bonne idée car tout nombre n'est pas de type Double...

> * 1 => Je n'aime pas multiplier une chaîne de caractères (un textbox en est une) par un chiffre.

Reste la fonction Val qui semble faite pour ça...
Sheets(« ma feuille »).range(« macellule »).value = Val(Me.Textbox1.Value)


https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/val-function
Val, Fonction
Renvoie les nombres contenus dans une chaîne en tant que valeur numérique de type approprié.
3
Kris01. Messages postés 3 Date d'inscription lundi 10 février 2020 Statut Membre Dernière intervention 11 février 2020
11 févr. 2020 à 15:57
Super ! Ça marche !!!!
Merci beaucoup !!! :) :)
0