XL 2010 Substituer touche point en touche virgule

cathodique

XLDnaute Barbatruc
Bonjour,

Mes recherches m'ont aboutir à ce code (de Fanch;)) pour une textbox
VB:
Private Sub TextBoxREch_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'KeyAscii = 46 ----> virgule (,) et KeyAscii = 44 ----> point (.)
If KeyAscii = 46 Then KeyAscii = 44
End Sub
Je suis bloqué pour adapter ce code pour une feuille excel.
Mon séparateur de décimaux est la virgule. Je n'ai pas de pavé numérique.
Je me mets donc mode majuscule pour saisir les chiffres et utilise la touche Shift pour la virgule.
Pas très pratique, je voudrais un code pour transformer la pression du point en virgule. Ceci n'agissant qu'en colonne B à partir de la ligne 6.

Ci-joint un fichier pour test.

En vous remerciant par avance.
 

Pièces jointes

  • Séparateur de décimal.xlsm
    9.2 KB · Affichages: 12
Solution
J'ai trouvé mon bonheur. Merci.

@chris ;): Je ne suis pas radin à ce point. En réalité, ce n'est pas pour moi mais pour un voisin. Vu sa situation, tu m'inspires pour faire une bonne action. Je vais offrir un pavé numérique.

@Lolote83;) : En effet, il n'y a pas d'évènement Keypress pour une feuille et c'est ce qui m'a bloqué. Merci.

La solution est la suivante changer les paramètres à l'ouverture du fichier.
VB:
Private Sub Workbook_Open()
With Application
.DecimalSeparator = "."
.ThousandsSeparator = " "
.UseSystemSeparators = False
End With
end sub

Lolote83

XLDnaute Barbatruc
Bonjour Cathodique.
Je ne sais pas si cela est faisable directement sur une feuille XL.
A mon sens, il n'existe pas d’événement équivalent à "KeyPress" directement sur une feuille.
La seule possibilité est un événement "change" sur une cellule mais c'est la validation "ENTER" ou autre qui déclenche cet événement. Donc je ne vois pas de solution.
Mais cela m'interresse et je vais donc suivre cette discussion.
Courage
@+ Lolote83
 

cathodique

XLDnaute Barbatruc
J'ai trouvé mon bonheur. Merci.

@chris ;): Je ne suis pas radin à ce point. En réalité, ce n'est pas pour moi mais pour un voisin. Vu sa situation, tu m'inspires pour faire une bonne action. Je vais offrir un pavé numérique.

@Lolote83;) : En effet, il n'y a pas d'évènement Keypress pour une feuille et c'est ce qui m'a bloqué. Merci.

La solution est la suivante changer les paramètres à l'ouverture du fichier.
VB:
Private Sub Workbook_Open()
With Application
.DecimalSeparator = "."
.ThousandsSeparator = " "
.UseSystemSeparators = False
End With
end sub
 

Discussions similaires

Réponses
20
Affichages
2 K

Statistiques des forums

Discussions
314 628
Messages
2 111 342
Membres
111 107
dernier inscrit
cdel