Bonjour,

Merci à tous car jusqu'à maintenant la seule consultation des posts déjà disponible avait suffit à m'aider, seulement maintenant je bloque et je ne sais pas d'où viens le souci.

J'ai créé un petit utilitaire à l'attention de la force de vente permettant de remplir automatiquement des listes de prix telles que celle que l'on peut trouver sur des devis.

Pour renseigner la remise appliquée, j'ai utilisé des TextBox qui doivent me renvoyer un nombre, pour cela, il faut être sur que ce nombre soit écrit, le cas échéant, avec un séparateur de décimal représenté par un ".".
Mon code devenant assez lourd, j'ai décidé d'utiliser les modules de classe pour gérer cela dans toutes les Textbox, et alors que cela fonctionnait sans les module de classe, avec, ça ne fonctionne pas, les TextBox me renvois systématiquement des nombre avec un séparateur à virgule et au format texte, donc inexploitable.

Je suis perdu.

Voilà ce que j'ai fait :

Le module de classe :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Public WithEvents TextBoxEvent As MSForms.TextBox
 
Private Sub TextBoxEvent_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
 
    Select Case KeyAscii
        Case 44, 46: KeyAscii = Asc(Format(0, "."))
    End Select
 
 
End Sub
Le code dans UserForm :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Option Explicit
Private TextBoxCollection As Collection
 
'Dim Nbref As Integer
 
Private Sub Userform_Initialize()
 
Dim Ctrl As Control
Dim TextBoxInstance As TextBoxClasse
Set TextBoxCollection = New Collection
 
For Each Ctrl In Me.Controls
 
    If TypeName(Ctrl) = "TextBox" Then
        Set TextBoxInstance = New TextBoxClasse
        Set TextBoxInstance.TextBoxEvent = Ctrl
        TextBoxCollection.Add TextBoxInstance
    End If
 
Next Ctrl
 
End Sub
J'ai du mal faire, mais je trouve pas où

(je précise que je ne suis pas pro et autodidacte, certaines notions peuvent parfois être un peu compliqué à appréhender pour moi)

Si quelqu'un pouvait me dire comment me corriger, je lui en serais éternellement reconnaissant.