XL 2016 Substituer virgule dans TextBox

  • Initiateur de la discussion Initiateur de la discussion Goose
  • Date de début Date de début

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 !

Goose

XLDnaute Occasionnel
Bonjour,
Je cherche a substituer la virgule par le point au moment de la saisie !!
malheureusement avec le code suivant il n'y a aucune action !!
ou est l'erreur ?
VB:
Private Sub TB_Email_Keypress(ByVal keypress As MSForms.ReturnInteger)
If KeyAscii = 44 Then KeyAscii = 46
End Sub

merci d'avance
 
Bonjour le forum
Bonjour Goose

Essaie ceci, au moins tu ne peux qu'insérer des chiffres ET le point comme séparateur
VB:
Private Sub textBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not Chr(KeyAscii) Like "[0-9-.]" Then KeyAscii = 0
End Sub
@+ Eric c
 
Bonsoir @Goose, @Eric C,

Le code de @Goose ne fonctionne pas chez moi.
Vous auriez placé en tête de module l’instruction "Option Explicit" qui oblige toute variable à être déclarée avant son utilisation, la compilation de votre code aurait abouti à une erreur sur la variable KeyAscii avec le message "variable non définie".
Et donc en s'interrogeant, on peut se demander pourquoi vous utilisez KeyAscii au lieu de keypress ?
Parce qu'avec KeyPress, ça fonctionne 🙂
 
@Eric C , @Goose 🙂
Comme quoi, il faut être attentif à tout ou tester.
Au départ, je n'y avais pas prêté attention non plus. Ça m'est arrivé aussi de relire des dizaines de fois mon code et de passer sur "le bug évident", bug qu'un autre découvrira immédiatement à la première lecture. Ça me rappelle les dictées de mon enfance mais nous, sur XLD, on ne donne pas de claque au fautif 😀😃😂
 
Bonsoir @Goose, @Eric C,

Le code de @Goose ne fonctionne pas chez moi.
Vous auriez placé en tête de module l’instruction "Option Explicit" qui oblige toute variable à être déclarée avant son utilisation, la compilation de votre code aurait abouti à une erreur sur la variable KeyAscii avec le message "variable non définie".
Et donc en s'interrogeant, on peut se demander pourquoi vous utilisez KeyAscii au lieu de keypress ?
Parce qu'avec KeyPress, ça fonctionne 🙂
Bonsoir mapomme, a quoi ressemblerai ce code avec keypress ?
 
mapomme veut simplement dire qu'avec l'évènement Keypress (L'évènement keypress est déclenché lorsqu'une touche produisant un caractère est pressée) le code fonctionne à condition que l'argument soit KeyAscii et non Keypress (compliqué comme réponse 😵😵😵).
 
@mapomme - Malheureux ... Veux tu t'attirer les foudres de quelques lecteurs rétifs. Les élèves peuvent désormais porter plainte (enfin les parents) si l'instituteur (professeur des écoles) porte la main sur un élève. Eh oui, ça c'était avant (j'ai 60 ans et j'ai connu cela et peut être plus (et je n'en suis pas mort...). Bonne soirée
 
@Goose,

Il faut une cohérence entre le nommage de l'argument de Sub TB_Email_Keypress
et l'utilisation de la variable dans le corps de la procédure.

Les trois codes suivants fonctionnent :
VB:
Option Explicit

Private Sub TB_Email_Keypress(ByVal keypress As MSForms.ReturnInteger)
   If keypress = 44 Then keypress = 46
End Sub

'ou

Private Sub TB_Email_Keypress(ByVal KeyAscii As MSForms.ReturnInteger)
   If KeyAscii = 44 Then KeyAscii = 46
End Sub

'ou

Private Sub TB_Email_Keypress(ByVal toto As MSForms.ReturnInteger)
   If toto = 44 Then toto = 46
End Sub
 
Les élèves peuvent désormais porter plainte (enfin les parents) si l'instituteur (professeur des écoles) porte la main sur un élève.
Moi, je ne disais rien parce que :
  • en général, je l'avais bien cherché et je connaissais les risques (et c'était rarissime)
  • si j'en parlais chez moi, il y avait une grande probabilité de m'en prendre une deuxième
  • et une claque du maitre, ça "posait là" son individu devant les autres
 
- 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
6
Affichages
416
Réponses
20
Affichages
2 K
Retour