Trouver le rang d'une lettre dans l'alphabet

Signaler
Messages postés
21
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
16 février 2003
-
cs_charlax
Messages postés
21
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
16 février 2003
-
Comment on fait pour que lorsque le type il entre une phrase, le prog met le rang de chaque lettre ????

Charlax

11 réponses

Messages postés
7
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
30 juin 2003

Si tu veux dire par là afficher en temps réel la longueur de la phrase saisie par le type, il suffit d'afficher la "Len()" du contenu de ta zone de texte et la rafraichir "OnChange()"...

Mais j'ai comme l'impression que c'est pas ce que tu cherches a faire. Tout du moins c'est hors sujet avec le titre de ton post.

Be cool....
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
13
salut

pour obtenir le rend d'une lettre tu fais :

rend = asc(ucase$(caractere))-64

si tu es dans l'evenement KeyPress tu fais :
rend = keyascii - 64

voila

ShareVB
Messages postés
62
Date d'inscription
mercredi 4 décembre 2002
Statut
Membre
Dernière intervention
27 avril 2003

tu veux dire lorsqu'il frappe au clavier, on puisse savoir quel position se situe ce qu'il vient de frapper ? et bein il suffit de faire sur l'événement key up ou down

rang = len(text)
Messages postés
21
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
16 février 2003

Je me rexplique :
si le type rentre "Bonjour"
l'ordi met
2 15 ...
en bref A donnera 1 (c la première lettre de l'alphabet)
b : 2
c : 3
d : 4
et ainsi de suite

scusez moi de m'être mal expliqué

en fait pour une seule lettre ça marche komme ça :
Dim rend As Integer
rend = Asc(UCase$(text)) - 64
MsgBox rend

mais pour plusieur il met seuleument la première
ex : azerty il mettra 1
et bonjour il mettra 2
En tout cas merci parce que ça marche un peu !!

et sinon (ce sera mon deuxième prog en basic) pouvez vous expliquer un peu :
asc(Ucase$())

sinon voilà merci beaucoup ! ! !

après faudra compliquer tout ça ! !

Charlax
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
13
salut

bon ben c facile
ucase$ ca met le texte en MAJ
asc ca renvoie le code ascii du caractere
par ex A = 65,B=66

voila

ShareVB
Messages postés
21
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
16 février 2003

Merci j'ai tout pigé mais sinon pour plusieurs lettres ????
(voir plus bas)
Faut que ça marche pour plusieurs lettres

Charlax
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
13
tu mets deux textbox (text1 et text2)

Private Sub Text1_KeyPress(KeyAscii As Integer)
text2.text = text2.text & " " & asc(ucase$(chr$(keyascii))) - 64
End Sub

chr$ ca renvoie un caractere correspondant au code ascii en parametre. chr$(65)=A,chr$(90)=Z

quand c pas des lettres ca affichera quand meme quelque chose. si tu veux que ca affiche pas quand c pas une lettre
tu mets en plus :
if keyascii >= 65 and keyascii <= 90 then
'si c une lettre
else
'si c pas une lettre
end if

ShareVB
Messages postés
21
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
16 février 2003

MERCI BEAUCOUP !
ça marche maintenant ! ! ! !
mais j'aimerais que vous m'expliquierz un tout petit peu
Text2.text & " " & Asc(UCase$(Chr$(KeyAscii)))

merci encore ! ! !
Charlax
Messages postés
21
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
16 février 2003

J'ai une autre question : comment on fait pour annuler ce truc quand on appuie sur del - pour éviter qu'il mette 8 à chaque fois ?
MERCI d'expliquer le code si c'est pas trop vous demander...

merci d'avance
c sympa de m'aider
Charlax
Messages postés
21
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
16 février 2003

Ah non ça va mieux j'ai compris et ça marche je vais me débrouiller tout seul (comme un grand !!à)

merci quand même ! !
salut et bonne année !

Charlax
Messages postés
262
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
19 décembre 2010
6
Dim i As Integer
Dim Rang As String

Text = "azerty"

For i = 1 To Len(Text)
Rang = Rang & " " & Asc(UCase$(Mid$(Text, i, 1))) - 64
Next i

MsgBox Rang

@+

wape