UserForm et Formats dans ma feuille excel

pienitram

XLDnaute Nouveau
Bonjour

Au début de mon projet, mais déjà des questions... :confused:

J'ai créé un Formulaire, avec des TextBox afin d'inserer des données dans une feuille Exel.
Le souci rencontré est que pour certains TextBox la valeur est correctement enregistrée sur ma fauille Excel, et pour d'autres ce n'est pas le cas (format Texte au lieu de Nombre)
Si je saisis 1,228 la valeur dans la feuille Excel est 1 228 (format Texte)
Si je saisis 1.228 la valeur dans la feuille Excel est 1,228 (mais format Texte)
Alors qu'avec les autres TextBox les valeurs sont correctement enregistrées dans ma feuille :
5,8 ou 47,5 ou encore 0,137 (Nombres)

J'ai beau me torturer les méninges, je ne vois pas la solution

Un petit coup de main, m'aiderait à avancer. si besoin je peux fournir l'ébauche de mon projet (j'aurai sans doute encore de nombreuse question plus tard)

Remerciements Anticipés :)
Excel 2007; Débutant en VBA

Pierre:)
 

Cousinhub

XLDnaute Barbatruc
Re : UserForm et Formats dans ma feuille excel

Bonsoir,

Tout comme le dit jeanpierre, cette question étant générique, et non propre à Xl 2007, regarde le fichier joint :
 

Pièces jointes

  • pienitram_v1.xls
    22.5 KB · Affichages: 92

pienitram

XLDnaute Nouveau
Re : UserForm et Formats dans ma feuille excel

Merci pour cet exemple... qui me laisse Perplexe :

Avec cet exemple, quelque soit la manière de saisir les nombres (avec un point ou une virgule) ils sont bien au format nombres (alignés à droite de la cellule) ce qui n'est pas le résultat avec mon exemple ci joint.

Je fouille à nouveau le site

Encore merci
Pierre
 

Pièces jointes

  • essai_formulaire_3.xlsm
    33.4 KB · Affichages: 61

Cousinhub

XLDnaute Barbatruc
Re : UserForm et Formats dans ma feuille excel

Re-,

tu n'as pas regardé le code du bouton "Valider"?

Par définition, un TextBox donne une donnée "Texte"....

Pour la transformer en "Nombre", on peut soit utiliser CByte, CInt, CLng, CDbl ou Val...

Pour les 3 premiers, on ne traite que les nombres sans décimales

Pour les 2 autres, on transforme le "Texte" en nombre avec décimale..

Cependant, CDbl ne reconnaît que la virgule, et Val, ne reconnaît que le point, comme séparateur décimal

Ainsi, cette ligne de code :

Code:
Cells(1, 1).Value = Val(Replace(Me.TextBoxCoef, ",", "."))

met en A1 la valeur de ton textbox "TextBoxCoef", sous forme de nombre

et ceci équivaut à cette ligne :

Code:
Cells(1, 1).Value = CDbl(Replace(Me.TextBoxCoef, ".", ","))

Remarque les positions des . et des , dans Replace...

Si c'est Val, on remplace les virgules par des points...

Si c'est CDbl, l'inverse....

Et voilou...
 

pienitram

XLDnaute Nouveau
Re : UserForm et Formats dans ma feuille excel

Ok merci, je postasse dur (suis un peu âgé, mais je persévère)
J'étais bien intrigué par tes lignes de code, sur ton exemple.. ça s'éclaicit doucement :eek:

Tous ça me montre que je ne suis pas au bout de mon projet.. mais avec quelques explications et de la bonne volonté ça devrait le faire.

Encore merci
Pierre
 

Discussions similaires

Statistiques des forums

Discussions
312 611
Messages
2 090 219
Membres
104 452
dernier inscrit
hamzamounir