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 :
Le code dans UserForm :
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
J'ai du mal faire, mais je trouve pas où
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
(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.
Partager