Transformer un caractère en un autre

Résolu
cs_Tom89 Messages postés 48 Date d'inscription jeudi 4 août 2005 Statut Membre Dernière intervention 13 décembre 2008 - 6 août 2005 à 11:25
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 8 août 2005 à 19:46
Bonjour à tous,

Je voudrais trouver un code qui me permette de transformer un caractère en un autre.

Pas forcément au moment de la saisie d'ailleurs!

Merci beaucoup!

23 réponses

Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
7 août 2005 à 04:37
bonsoir ,
tu trouveras ci dessous les constantes vb pour les touches clavier ,je voulais te mettre le lien mais ça marche pas



Codes de touches, constantes (contrôles ActiveX)

<!--NONSCROLLING BANNER END-->



<!-- Topic Status -->
Codes de touches



Constante |
Valeur |
Description |
----

vbKeyLButton,
&H1,
Bouton gauche de la souris,
----

vbKeyRButton,
&H2,
Bouton droit de la souris,
----

vbKeyCancel,
&H3,
Touche ANNUL,
----

vbKeyMButton,
&H4,
Bouton central de la souris,
----

vbKeyBack,
&H8,
Touche RET.ARR,
----

vbKeyTab,
&H9,
Touche TAB,
----

vbKeyClear,
&HC,
Touche EFFACER,
----

vbKeyReturn,
&HD,
Touche ENTRÉE,
----

vbKeyShift,
&H10,
Touche MAJ,
----

vbKeyControl,
&H11,
Touche CTRL,
----

vbKeyMenu,
&H12,
Touche MENU,
----

vbKeyPause,
&H13,
Touche PAUSE,
----

vbKeyCapital,
&H14,
Touche VERR.MAJ,
----

vbKeyEscape,
&H1B,
Touche ÉCHAP.,
----

vbKeySpace,
&H20,
Touche ESPACE,
----

vbKeyPageUp,
&H21,
Touche PG PRÉC.,
----

vbKeyPageDown,
&H22,
Touche PG SUIV.,
----

vbKeyEnd,
&H23,
Touche FIN,
----

vbKeyHome,
&H24,
Touche DÉBUT,
----

vbKeyLeft,
&H25,
Touche GAUCHE,
----

vbKeyUp,
&H26,
Touche HAUT,
----

vbKeyRight,
&H27,
Touche DROITE,
----

vbKeyDown,
&H28,
Touche BAS,
----

vbKeySelect,
&H29,
Touche SELECT,
----

vbKeyPrint,
&H2A,
Touche IMPR. ÉCRAN,
----

vbKeyExecute,
&H2B,
Touche EXÉCUTE,
----

vbKeySnapshot,
&H2C,
Touche INSTANTANÉ,
----

vbKeyInsert,
&H2D,
Touche INSER,
----

vbKeyDelete,
&H2E,
Touche SUPPR.,
----

vbKeyHelp,
&H2F,
Touche AIDE,
----

vbKeyNumlock,
&H90,
Touche VERR. NUM


Les constantes KeyA à KeyZ sont identiques à leurs équivalents ASCII : de « A » à « Z »



Constante |
Valeur |
Description |
----

vbKeyA,
65,
Touche A,
----

vbKeyB,
66,
Touche B,
----

vbKeyC,
67,
Touche C,
----

vbKeyD,
68,
Touche D,
----

vbKeyE,
69,
Touche E,
----

vbKeyF,
70,
Touche F,
----

vbKeyG,
71,
Touche G,
----

vbKeyH,
72,
Touche H,
----

vbKeyI,
73,
Touche I,
----

vbKeyJ,
74,
Touche J,
----

vbKeyK,
75,
Touche K,
----

vbKeyL,
76,
Touche L,
----

vbKeyM,
77,
Touche M,
----

vbKeyN,
78,
Touche N,
----

vbKeyO,
79,
Touche O,
----

vbKeyP,
80,
Touche P,
----

vbKeyQ,
81,
Touche Q,
----

vbKeyR,
82,
Touche R,
----

vbKeyS,
83,
Touche S,
----

vbKeyT,
84,
Touche T,
----

vbKeyU,
85,
Touche U,
----

vbKeyV,
86,
Touche V,
----

vbKeyW,
87,
Touche W,
----

vbKeyX,
88,
Touche X,
----

vbKeyY,
89,
Touche Y,
----

vbKeyZ,
90,
Touche Z


Les constantes Key0 à Key9 sont identiques à leurs équivalents ASCII : de « 0 » à « 9 »



Constante |
Valeur |
Description |
----

vbKey0,
48,
Touche 0,
----

vbKey1,
49,
Touche 1,
----

vbKey2,
50,
Touche 2,
----

vbKey3,
51,
Touche 3,
----

vbKey4,
52,
Touche 4,
----

vbKey5,
53,
Touche 5,
----

vbKey6,
54,
Touche 6,
----

vbKey7,
55,
Touche 7,
----

vbKey8,
56,
Touche 8,
----

vbKey9,
57,
Touche 9


Touches du pavé numérique



Constante |
Valeur |
Description |
----

vbKeyNumpad0,
&H60,
Touche 0,
----

vbKeyNumpad1,
&H61,
Touche 1,
----

vbKeyNumpad2,
&H62,
Touche 2,
----

vbKeyNumpad3,
&H63,
Touche 3,
----

vbKeyNumpad4,
&H64,
Touche 4,
----

vbKeyNumpad5,
&H65,
Touche 5,
----

vbKeyNumpad6,
&H66,
Touche 6,
----

vbKeyNumpad7,
&H67,
Touche 7,
----

vbKeyNumpad8,
&H68,
Touche 8,
----

vbKeyNumpad9,
&H69,
Touche 9,
----

vbKeyMultiply,
&H6A,
Touche SIGNE MULTIPLICATION (*),
----

vbKeyAdd,
&H6B,
Touche SIGNE PLUS (+),
----

vbKeySeparator,
&H6C,
Touche ENTRÉE (pavé numérique),
----

vbKeySubtract,
&H6D,
Touche SIGNE MOINS (-),
----

vbKeyDecimal,
&H6E,
Touche POINT DÉCIMAL (.),
----

vbKeyDivide,
&H6F,
Touche SIGNE DIVISION (/)


Touches de fonction



Constante |
Valeur |
Description |
----

vbKeyF1,
&H70,
Touche F1,
----

vbKeyF2,
&H71,
Touche F2,
----

vbKeyF3,
&H72,
Touche F3,
----

vbKeyF4,
&H73,
Touche F4,
----

vbKeyF5,
&H74,
Touche F5,
----

vbKeyF6,
&H75,
Touche F6,
----

vbKeyF7,
&H76,
Touche F7,
----

vbKeyF8,
&H77,
Touche F8,
----

vbKeyF9,
&H78,
Touche F9,
----

vbKeyF10,
&H79,
Touche F10,
----

vbKeyF11,
&H7A,
Touche F11,
----

vbKeyF12,
&H7B,
Touche F12,
----

vbKeyF13,
&H7C,
Touche F13,
----

vbKeyF14,
&H7D,
Touche F14,
----

vbKeyF15,
&H7E,
Touche F15,
----

vbKeyF16,
&H7F,
Touche F16

<!-- End Content -->
salut
doro
3
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
7 août 2005 à 04:43
comme tu es débutant débutant

je t'explique

dans l'evenement key press de chaque textbox
tu inseres un code du genre

private sub text1_keypress()

if keyascii=vbkeyA then
keyascii=vbkeyB
end if

qui veut dire

si la touche A est appuyee alors inscrire B à la place

voila
salut
doro
3
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
8 août 2005 à 18:18
explique ce qui ne marche pas quelle erreur , quel résultat ?



en appuyant sur le bouton "Command1" le Textbox1 est copié dans le Textbox2, avec tous les caractères "A" remplacès par "B".




Private Sub Command1_Click()

Text2.Text = Replace(Text1.Text, "A", "B")

End Sub



Private Function Replace(s As String, c1 As String, c2 As String) As String

Dim i As Integer

Dim r As String



For i = 1 To Len(s)

If InStr(i, s, c1) = i Then

r = r & c2

i = i + Len(c1) - 1

Else

r = r & Mid$(s, i, 1)

End If

Next

Replace = r



End Function


Daniel
3
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
6 août 2005 à 11:34
si c'est dans une chaîne tu regardes la fonction Replace:



NouvelleChaine = Replace ( AncienneChaine, "A", "B")



au cours de la saisie, faut le faire dans l'évênement KeyPress

Daniel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
6 août 2005 à 12:39
Salut,
Dans le keypress, pour reprendre l'exemple de Daniel, l'équivalent serait :

Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii 65 Then KeyAscii 66
End Sub

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_PrX Messages postés 91 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 2 novembre 2005
6 août 2005 à 12:40
Ca depend aussi de ce que tu veux faire.
Si c'est pour l'affichage "password", avec un caractere * ou un autre de ton choix, l'option existe dans les textbox.

Si pour un cryptage, il existe quelques fonctions classiques qui permettent deja de s'occuper. La plus simples, et donc la plus connue, c'est le XOR (OU exclusif) avec une valeur comprise entre 1 et 254 (0 et 255 à proscrire).
Exemple :
0100 0001 (65) > A
XOR 0001 0100 (20)
-------------------------------------
0101 0101 (85) > U

J'espere que ca peut t'aider.

PrX
0
cs_Tom89 Messages postés 48 Date d'inscription jeudi 4 août 2005 Statut Membre Dernière intervention 13 décembre 2008
6 août 2005 à 13:00
Merci pour toutes ces réponses.

Cependant étant donné que je débute (au sens propore du terme).

J'ai quelques jours d'experience à peine!

Il y a des trucs que je ne comprends pas.

Daniel, peux-tu me dire ce que je dois faire plus exactemen, svp?

Canislupus la touche 65, c'est laquelle?

Merci
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
6 août 2005 à 13:18
la touche 65 c'est la touche "A"

tu peux aussi utiliser les constantes de vb:

vbkeyA, vbkeyB, vbKeyReturn, etc ...





la fonction Replace citée ci-dessus remplacera tous les caractères "A"
par le caractère "B", elle n'est pas limitée au caractères, elle peut
aussi remplacer des chaînes complètes.



'pour la saisie ça peut se présenter comme ça

Private Sub Text1_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 65: KeyAscii = 66

' équivallent à --> Case Asc("A"): KeyAscii = Asc("B")

End Select

End Sub









Daniel
0
cs_Tom89 Messages postés 48 Date d'inscription jeudi 4 août 2005 Statut Membre Dernière intervention 13 décembre 2008
8 août 2005 à 13:20
Que de bonnes réponses.......

Mais j'ai toujours un problème.

Mon programme se presente de la façon suivante :

Je rentre le texte ds 1 premier textbox.

1 bouton copi le texte dan 1 secon textbox.

Mé voila jarive pa a fr en sorte ke la copi soi modifié.

Ou fo-t-il ke je tape le code?

Merci d'avance!



Tom89
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
8 août 2005 à 13:23
Text2.Text = Replace (Text1.Text, "A", "B")

Daniel
0
cs_Tom89 Messages postés 48 Date d'inscription jeudi 4 août 2005 Statut Membre Dernière intervention 13 décembre 2008
8 août 2005 à 14:22
Merci Daniel mé C le mm prob ke lotr foi : il me sor :

"Procedure sub ou fonction non définie"

G du oublié de marké qqch qqpar mé je ne C pa koi!

Merci



Tom89
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
8 août 2005 à 14:28
tu as quelle version Vb ?

Daniel
0
cs_Tom89 Messages postés 48 Date d'inscription jeudi 4 août 2005 Statut Membre Dernière intervention 13 décembre 2008
8 août 2005 à 14:30
4.0
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
8 août 2005 à 14:39
elle n'existe qu'à partir de VB6

je t'ai fait une fonction Replace vite fait, apparemment elle marche

à vérifier quand même.





Private Function Replace (s As String, c1 As String, c2 As String) As String

Dim i As Integer

Dim r As String



For i = 1 To Len(s)

If InStr(i, s, c1) = i Then

r = r & c2

i = i + Len(c1) - 1

Else

r = r & Mid$(s, i, 1)

End If

Next

Replace = r



End Function


Daniel
0
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
8 août 2005 à 17:01
bonjour,
disons que tu as 2 form frm1 et frm2
sur la 1ere 1textbox et un bouton ok
sur la 2eme 1textbox

dans la textbox frm1
private sub text1_keypress(..)
if key ascii=vbkeyA then
keyascii=vbkeyB
end if

dans le bouton ok
private sub cmd_ok()
frm2.text1.text=frm1.text1.text
end sub
qui veut dire text1 de form2=valeur de text1 de form1
tiens moi au courant
salut
doro
0
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
8 août 2005 à 17:03
òu si c'est sur la meme form
text2.text=text1.text
0
cs_Tom89 Messages postés 48 Date d'inscription jeudi 4 août 2005 Statut Membre Dernière intervention 13 décembre 2008
8 août 2005 à 18:09
Je sui o regré de dir ke sa march pa....... ou du moin ke je nè pa réussi a i fr marché lol!

JaV réussi a fr qqch ac le code suivan :



Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii 65 Then KeyAscii 66

End Sub



Mai je voudrè k'au lieu ke la modif se fass o momen de la saisi, èl se
fass pluto aprè pression d'un bouton commande ou, autre solution, ke la
modif se fass ds 1 otre textbox.

Mai ya rien a fèr je ni arive pa!

Merci!



Tom89
0
cs_Tom89 Messages postés 48 Date d'inscription jeudi 4 août 2005 Statut Membre Dernière intervention 13 décembre 2008
8 août 2005 à 18:26
Mdr.

Je vé t'expliké ce ki ne va pa.......

C ke je sui débutan de ché débutan!

Maintenan ke tu ma filé 1 code absolumen entié é ac lé élémen é leur
nom clèremen sou-entendu, é ba devine koi....... ya + 2 prob!

Merci bcp pr ta tenacité....... lol :)



J'ai peur d'abuser mé si j'explik mé otr prob, i jètera tu un cou d'oeil?



Merci d'avance.



Tom89
0
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
8 août 2005 à 18:29
bonjour
essais de le placer dans le change de la textbox qui va recevoir les données copiées
salut
doro
0
cs_Tom89 Messages postés 48 Date d'inscription jeudi 4 août 2005 Statut Membre Dernière intervention 13 décembre 2008
8 août 2005 à 18:33
Merci doro mé C bon G trouV 1 moyen (cf ci-dessu).

Pr te rep tou de mm, jaV Dja éCyé sa é sa na pa marché.

Merci kan-mm.



2 tte façon d'ici 1h ou 2 jorè a nouvo 1 prob (C sa lé débu).



Tom89
0
Rejoignez-nous