XL 2016 Problème VBA - format TextBox

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 !

marcfriez

XLDnaute Nouveau
Bonsoir à tous,

J'ai crée un programme excel avec UserForm, mais je rencontre un problème dans mon formulaire. J'ai 3 types de textbox:

-Dans la première j'ajoute des données numériques (montant en euros). J'ai envie de modifier le format de ma textbox pour faire en sorte que je peux saisir juste des nombres décimaux avec la virgule, puis à la fin faire apparaître le symbole euros €. Si je saisie un autre symbole ou une lettre un message d'erreur doit apparaître.

-Dans la deuxième j'ajoute une date du type dd/mm/yyyy. J'ai envie de modifier le format de ma textbox pour faire en sorte que je peux saisir juste des chiffres avec des slashes ("/"). Si je saisie un autre symbole ou une lettre un message d'erreur doit apparaître.

- Dans la dernière j'ajoute un pourcentage ("00.00%). J'ai envie de modifier le format de ma textbox pour faire en sorte que je peux saisir juste des chiffres avec la virgule, puis à la fin faire apparaître le "%". Si je saisie un autre symbole ou une lettre un message d'erreur doit apparaître.

Je vous remercie d'avance 🙂))
 
Dernière édition:
Bonjour le fil, marcfriez

marcfriez
Je rencontre un nouveau membre du forum qui a un problème avec à un formulaire.
J'ai trois types de réponses possibles
Dans la première: Bienvenue sur le forum
Dans la deuxième: ajoute un fichier Exemple
Dans la dernière : j'ai envie de penser que c'est l'empressement qui t'a fait poster sans joindre un tit fichier 😉

PS: le tit fichier, c'est juste pour ne pas perdre de temps à recréer un classeur avec userform et tutti quanti, alors que celui-ci existe déjà sur ton disque dur. 😉
 
Bonsoir le forum
Bonsoir marcfriez (il semblerait que ton fichier brille par son absence..Lol), bonsoir Staple

Petit fichier rapidement réalisé grâce à notre ami patricktoulon (que je salue au passage 😉 ). Avec ce codage, il ne peut y avoir d'erreur.
Bonne soirée à toutes & à tous
@+ Eric c
 

Pièces jointes

Re

=>marcfriez
En guise d'illustration, un petit exemple (pour le point 1))
(à tester sur un userform avec un TextBox et un CommandButton)
Je te laisse ensuite faire l'adaptation sur ton fichier
VB:
Private Sub CommandButton1_Click()
MsgBox Val(Replace(TextBox1, ",", ".")) * 2
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Seulement nombres et virgule => nombre décimal donc
Select Case KeyAscii
Case 44
If InStr(1, TextBox1, ",") > 0 Then KeyAscii = 0
Case 48 To 57
Case Else
KeyAscii = 0
End Select
End Sub

Private Sub UserForm_Initialize()
TextBox1 = "5,5"
End Sub
 
Salut Eric C et Staple1600


Merci pour vos réponses, je vais essayer de l'appliquer. Euh concernant mon post sur l'autre forum, malheureusement le code du monsieur ne marche pas. Je suis débutant en vba et depuis 1 semaine j'essaie de résoudre ce problème de textbox. Veuillez m'excuser si je n'ai pas signalé le multipostage.

Cordialement
 
Re



@ Staple - Et maintenant ça doit donner quoi le code ????
78323.gif
 
Dernière édition:
Re

Eric C
Je parlais des balises COLOR qu'on pouvait lire dans le VBA avant que tu ne l'édites 😉

marcfriez
Désormais, tu es paré pour tes prochaines questions 😉
(de préférence avec un fichier joint, et un petit préambule si tu as posé ta question à plusieurs endroits
histoire de user nos neurones si la question est déjà résolue ailleurs 😉
 
bonjour le fils
je l'ai déjà montré récemment me semble til

formater un textbox en contraignant et interception des touches clavier

VB:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    With TextBox1
        X = Replace(.Value, " €", "")
        Select Case KeyCode
        Case 96 To 105
            If X <> "" Then If Len(Replace(X, Val(Int(X)), "")) >= 3 Then KeyCode = 0: Exit Sub
            X = X & Chr(KeyCode + IIf(KeyCode < 96, 32, -48))
        Case 110, 188: If Not X Like "*,*" Then X = X & ","
        Case 8: X = Left(X, Len(X) - IIf(X <> "", 1, 0))
        Case Else: KeyCode = 0
        End Select
        .Value = X
        If .Value <> "" Then .Value = .Value & " €"
        .SelStart = Len(X)
    End With
    KeyCode = 0
End Sub
pour le "%" tu remplace le" €" par" %"
 
Dernière édition:
- 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
7
Affichages
371
Réponses
1
Affichages
336
Réponses
13
Affichages
612
Retour