Bonsoir le Forum,

Je me lance dans les modules de classe.

Le but.

A la sortie du controle (parmi 30 numérique du même type), je souhaite un affichage sous format monétaire.

J'ai lu la contribution de Patrick Toulon. Mais je n'arrive pas cependant à l'appliquer dans ce cas précis.

Dans le code du formulaire

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Dim texto() As New ClasseTextBox
Puis

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Dim ctrl As Control
For Each ctrl In Me.Controls
        If TypeName(ctrl) = "TextBox" Then
            T = T + 1
            ReDim Preserve texto(1 To T)
            Set texto(T).groupetexto = ctrl
        End If
Next
Bien ntendu, ce code de module de classe n'est pas effectif.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Public WithEvents groupetexto As MSForms.TextBox
 
Private Sub groupetexto_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
groupetexto.Text = Format(groupetexto.Text, "# ### ### €")
End Sub
car 11111 pour 11 111 € devient 1 € 1111, ce qui est logique.

Et je ne peux pas gérer la longueur car celle-ci est variable.

D'avance, merci pour vos lumières.