Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

modifier une touche enfoncer dans le clavier

5 réponses
Avatar
MSILLIENNE
j'ai un controle spreadsheet (feuille excel) a
l'interieure d'une cellule j'nsere des nombre je voudrais
qu'au moment ou je tappe "." il me le change par ','
dans l'evenement keypress et keydown ca ne marche pas
comment puis je faire???
merci

5 réponses

Avatar
christophe-pasde
Bonjour,

Private Sub object_KeyPress( ByVal KeyANSI As MSForms.ReturnInteger)

If KeyANSI=asc(".") then KeyANSI= asc(",")

ça marche pas ?

Christophe

MSILLIENNE a écrit :
j'ai un controle spreadsheet (feuille excel) a
l'interieure d'une cellule j'nsere des nombre je voudrais
qu'au moment ou je tappe "." il me le change par ','
dans l'evenement keypress et keydown ca ne marche pas
comment puis je faire???
merci


Avatar
msillienne
non il plante sur la premiere ligne le keyansi lui plait
pas je crois .....
-----Message d'origine-----
Bonjour,

Private Sub object_KeyPress( ByVal KeyANSI As


MSForms.ReturnInteger)

If KeyANSI=asc(".") then KeyANSI= asc(",")

ça marche pas ?

Christophe

MSILLIENNE a écrit :
j'ai un controle spreadsheet (feuille excel) a
l'interieure d'une cellule j'nsere des nombre je




voudrais
qu'au moment ou je tappe "." il me le change par ','
dans l'evenement keypress et keydown ca ne marche pas
comment puis je faire???
merci


.



Avatar
YannX
Bnjr,

Juste une remarque a la lecture de la ligne ci-dessous :

Sub object_KeyPress( ByVal KeyANSI As MSForms.ReturnInteger)

- le passage d'argument ByVal effectue une copie locale de la valeur passée
donc la modif n'est pas retransmise à l'appelant !

Sub object_KeyPress( ByRef KeyANSI As MSForms.ReturnInteger)
' ----------
If KeyANSI=asc(".") then KeyANSI= asc(",")
End

Cette écriture (conforme a l'ancien standard du Basic)
est-elle meilleure ?

YannX

"msillienne" a écrit dans le message
de news:08b201c4ddc8$fbdf2740$
non il plante sur la premiere ligne le keyansi lui plait
pas je crois .....
-----Message d'origine-----
Bonjour,

Private Sub object_KeyPress( ByVal KeyANSI As


MSForms.ReturnInteger)

If KeyANSI=asc(".") then KeyANSI= asc(",")



Avatar
christophe-pasde
TRès juste c'est du Byval mais je ne crois pas que l'on puisse modifier
une déclaration prédéfinie.

Christophe


YannX a écrit :
Bnjr,

Juste une remarque a la lecture de la ligne ci-dessous :

Sub object_KeyPress( ByVal KeyANSI As MSForms.ReturnInteger)

- le passage d'argument ByVal effectue une copie locale de la valeur passée
donc la modif n'est pas retransmise à l'appelant !

Sub object_KeyPress( ByRef KeyANSI As MSForms.ReturnInteger)
' ----------
If KeyANSI=asc(".") then KeyANSI= asc(",")
End

Cette écriture (conforme a l'ancien standard du Basic)
est-elle meilleure ?

YannX

"msillienne" a écrit dans le message
de news:08b201c4ddc8$fbdf2740$
non il plante sur la premiere ligne le keyansi lui plait
pas je crois .....

-----Message d'origine-----
Bonjour,

Private Sub object_KeyPress( ByVal KeyANSI As



MSForms.ReturnInteger)

If KeyANSI=asc(".") then KeyANSI= asc(",")








Avatar
MSILLIENNE
il ya toujour une erreur en fait ca ne marche pas ....
beuuuhh :-( je vais finir par m'arracher les cheveux
-----Message d'origine-----

TRès juste c'est du Byval mais je ne crois pas que l'on


puisse modifier
une déclaration prédéfinie.

Christophe


YannX a écrit :
Bnjr,

Juste une remarque a la lecture de la ligne ci-




dessous :

Sub object_KeyPress( ByVal KeyANSI As




MSForms.ReturnInteger)

- le passage d'argument ByVal effectue une copie




locale de la valeur passée
donc la modif n'est pas retransmise à l'appelant !

Sub object_KeyPress( ByRef KeyANSI As




MSForms.ReturnInteger)
' ----------
If KeyANSI=asc(".") then KeyANSI= asc(",")
End

Cette écriture (conforme a l'ancien standard du Basic)
est-elle meilleure ?

YannX

"msillienne" a




écrit dans le message
de news:08b201c4ddc8$fbdf2740$
non il plante sur la premiere ligne le keyansi lui




plait
pas je crois .....

-----Message d'origine-----
Bonjour,

Private Sub object_KeyPress( ByVal KeyANSI As



MSForms.ReturnInteger)

If KeyANSI=asc(".") then KeyANSI= asc(",")








.