Spitnolan08
XLDnaute Barbatruc
Hello !
Salut à tous les passionnés qui ne décrochent jamais, même pendant les fêtes!
Sur le forum on trouve plein de discussions sur les formats des textbox et autres mais uniquement dans le cas, ou alors je n’ai pas bien cherché, où on applique le format à une textbox déjà renseignée.
Après de nombreuses recherches je viens, avant de poser la question sur ce forum, de trouver la solution pour modifier le format d’une textbox en semidynamique. Je la livre donc à ceux que ça pourrait intéresser…
L’évènement textbox_change n’est d’aucune utilité car il ne prend en compte que le dernier caractère saisi.
Le code suivant ne fonctionne donc pas :
Private Sub TextBox1_Change()
TextBox1 = Format (TextBox1, "# ##0.00")
End Sub
Il faut utiliser l’évènement TextBox_Exit avec un code du type :
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
TextBox1 = Format(TextBox1, "# ##0.00")
End Sub
Ainsi dès que le focus change de contrôle le format est appliqué à la nouvelle saisie.
Ceci dit si quelqu’un sait le faire en dynamique total, c’est à dire de façon immédiate au fur et à mesure de la saisie ce serait encore mieux…
Un accroc a-t-il une ID ? Par exemple Thierry, sans vouloir vexer personne !
Par ailleurs, pour info, ce type de format (# ##0.00) fonctionne tant que les nombres concernés sont inférieurs à 999 999. Au-delà il faut saisir : # ### ##0.00 jusqu’à 999 999 999 et ainsi de suite…
Et toujours ma question préférée pour les pros de VBA :
https://www.excel-downloads.com/threads/listes-deroulantes-integrees-en-cascade.72509/
Bonne année à tous et un très bon réveillon
A ciao et à bientôt
Salut à tous les passionnés qui ne décrochent jamais, même pendant les fêtes!
Sur le forum on trouve plein de discussions sur les formats des textbox et autres mais uniquement dans le cas, ou alors je n’ai pas bien cherché, où on applique le format à une textbox déjà renseignée.
Après de nombreuses recherches je viens, avant de poser la question sur ce forum, de trouver la solution pour modifier le format d’une textbox en semidynamique. Je la livre donc à ceux que ça pourrait intéresser…
L’évènement textbox_change n’est d’aucune utilité car il ne prend en compte que le dernier caractère saisi.
Le code suivant ne fonctionne donc pas :
Private Sub TextBox1_Change()
TextBox1 = Format (TextBox1, "# ##0.00")
End Sub
Il faut utiliser l’évènement TextBox_Exit avec un code du type :
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
TextBox1 = Format(TextBox1, "# ##0.00")
End Sub
Ainsi dès que le focus change de contrôle le format est appliqué à la nouvelle saisie.
Ceci dit si quelqu’un sait le faire en dynamique total, c’est à dire de façon immédiate au fur et à mesure de la saisie ce serait encore mieux…
Un accroc a-t-il une ID ? Par exemple Thierry, sans vouloir vexer personne !
Par ailleurs, pour info, ce type de format (# ##0.00) fonctionne tant que les nombres concernés sont inférieurs à 999 999. Au-delà il faut saisir : # ### ##0.00 jusqu’à 999 999 999 et ainsi de suite…
Et toujours ma question préférée pour les pros de VBA :
https://www.excel-downloads.com/threads/listes-deroulantes-integrees-en-cascade.72509/
Bonne année à tous et un très bon réveillon
A ciao et à bientôt