Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

thierry.bayard

XLDnaute Junior
Bonjour,

J'ai de nouveau un problème qui va vous sembler simplissime mais tant pis pour mon ego.
Dans un userform avec plusieurs textbox, je voudrais qu'à la fin de la saisie, le format du nombre saisie soit :
- pour certaines textbox : un nombre avec séparateur de milliers et 2 décimales.
- pour d'autres : un pourcentage (l'utilisateur saisie 4.3, il apparaît 4.30 %)

Pour cela, j'ai fait respectivement :

Private Sub Text_B_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Text_B.Text = Format(Text_B.Text, "#,##0.00")
End Sub

et :

Private Sub Text_taux_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Text_taux.Text = Format(Text_taux.Text, "0.00")
Text_taux.Value = Text_taux.Value / 100 'pour que n'apparaisse pas 430 % au lieu de 4.30 %
Text_taux.Text = Format(Text_taux.Text, "0.00%")
End Sub


Mon problème est que ça ne marche pas quand j'utilise le point du pavé numérique et non la virgule. Or, les utilsateurs auront le reflexe d'utiliser le pavé numérique et non celui de mettre une virgule.

Merci pour votre aide.
 
Re : Format textbox

Re 🙂,
Réflexion faite, fait un test avant sinon à la 2ème sortie, tu aura un plantage avec le % 🙄...
Code:
If InStr(1, TextBox2, "%") > 0 Then Exit Sub
TextBox2 = Format(Replace(TextBox2, ".", ",") / 100, "0.00%")
Bonne soirée 😎
 
Re : Format textbox

Re bonjour,

Je bloque de nouveau sur un point de détail : maintenant les formats dans mes textbox sont OK sur mon userform suite à ce code :

TextBox1 = Format(Replace(TextBox1, ".", ","), "#,##0.00")

Maintenant, je veux récupérer cette donnée sous Excel. En faisant :
ActiveCell.Value = TextBox1.Value
La valeur s'affiche correctement mais Excel la considère comme du texte et non comme un nombre. (Si je sélectionne cette cellule avec d'autres cellules voisines, la somme ne s'affiche pas dans la barre en bas à droite ; de même, l'alignement par défaut est à gauche). Cela est vrai même si au préalable, je définis le format de ma cellule comme "Nombre".

Comment s'explique cela et comment peut-on y remédier ?

Merci encore pour votre aide
 
Re : Format textbox

Re 🙂,
Je manque d'expérience en vba, d'où le fait que certaines évidences ne me sautent pas aux yeux !!
Désolé, quand j'ai dit bêtement, ce n'était pas à ton encontre, mais plutôt que ma réponse pouvait paraître bête 😱...
En ce qui concerne ton nouveau problème, logiquement c'est l'inverse, il faut que tu fasses un Replace de la virgule par le point, car VBA raisonne en anglais et non en préférences locales 😛...
Bon courage 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
134
Réponses
3
Affichages
468
Retour