begin process at 2008 09 05 20:46:33
1 237 505 membres
445 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Associer chaque caractere d'un mot a une variable différente [ Archives Visual Basic / VBA ] (sanaria)

Associer chaque caractere d'un mot a une variable différente le 23/09/2004 13:58:15

sanaria
Bonjour à tous,

Voila, j'aurais voulu savoir comment associer le caractere 1 d'un mot a une variable 1, le caractere 2 a une variable 2 etc pour un mot contenu dans une textbox.

Merci d'avance.


Re : Associer chaque caractere d'un mot a une variable différente le 23/09/2004 14:06:16

yomm
Membre Club
le plus simple je pense est de faire ceci:


dim Toto() as string

redim toto(len(textbox1.text))

for i = 1 to len(textbox1.text)
toto(i-1) = mid(textbox1.text,i,1)
next


tu auras donc un tableau dont chaque ligne contient 1 caractère de ton textbox...

il y a surement autrement mais c'est la première idée qui me vient à l'esprit étant donné que tu ne peux pas utiliser la fonction Split dans ce cas précis...

@+

Yomm

yommvb@ifrance.com

Et que la source soit avec toi!!!!!

Re : Associer chaque caractere d'un mot a une variable différente le 23/09/2004 14:10:25

yomm
Membre Club
je viens de tester mon code, pour que tout soit vraiment correcte prend plutot cela :

Dim Toto() As String
Dim i As Integer

ReDim Toto(Len(Text1.Text)-1)

For i = 1 To Len(Text1.Text)
Toto(i - 1) = Mid(Text1.Text, i, 1)
Next


pour récupérer le premier caractère : Toto(0)
pour le second : Toto(1)
(....)
pour le dernier: Toto(Len(Text1.Text)-1)

voilà @+

Yomm

yommvb@ifrance.com

Et que la source soit avec toi!!!!!

Re : Associer chaque caractere d'un mot a une variable différente le 23/09/2004 14:10:45

sanaria
Merci de ta réponse rapide. J'ose de demander encore qq minutes de ton temps pour m'expliquer plus précisement comment cela fonctionne car je suis un parfait débutant et j'essaye de découvrir le maximum par moi meme mais certaines choses me dépasse.

J'aimerais savoir :
- quel commande correspond a quel action ds ton code
- dans quelle variable va se mettre chaque caractere
- comment fonctionne la fonction split

Re : Associer chaque caractere d'un mot a une variable différente le 23/09/2004 14:11:47

sanaria
Tu m'a devancé ;) Merci, si tu peu détailler ce serais génial, merci !

Re : Associer chaque caractere d'un mot a une variable différente le 23/09/2004 14:57:06

yomm
Membre Club
Réponse acceptée !
ok...
donc voici en détail le fonctionnement:

Dim Toto() As String
Ici toto, est un tableau dynamique...cela permet de définir sa taille au cours du code...c'est lui qui va stocker tes caractères....
Dim i As Integer
est juste là pour la boucle for....rien d'important

ReDim Toto(Len(Text1.Text)-1)
comme je l'ai dit juste avant il faut donner la taille de ton tableau toto....
donc voici l'explication:
redim : équivaudrait à peut prêt à définition de la tailler
info : suivit de preserve ton tableau sera redimmensionné mais les lignes garderont leur valeur...

donc on disait:
Redim Toto donc là, je dis quel est le tableau que je redimmensionne...
ensuite, entre ( ) tu dois donner la taille <=> le nombre de lignes....
prenons un exemple : dans ton textbox tu as : [blue]maman

maman faisant 5 caractère tu dois déclarer un tableau de 5 lignes <> Redim Toto(5)
Mais : ton texte ne fera pas forcément 5 caractères d'où la commande:
[blue]len(Text1.Text)
pour savoir commbien tu as de caractères dans ta textbox...
et pourquoi [blue]-1
??? Parce que ton tableau commance à la ligne 0
donc pour 5 caractère tu as : 0,1,2,3,4...

donc voilà pour l'explication de [blue]ReDim Toto(Len(Text1.Text)-1)


maintnant la boucle FOR
maintenant que ton tableau a une taille suffisante pour chaque caractère de ton texte, il faut lui mettre les caractères...
[blue]For i = 1 To Len(Text1.Text)[blue] : ça c'est pour allez du premier caractère au dernier....
[blue]Toto(i - 1) = Mid(Text1.Text, i, 1)
donc la coupons suivant le signe =
[blue]Toto(i - 1)
: là, je renseigne mon tableau et je lui me le caractère à la ligne [blue]i -1 [blue]... pourquoi i-1 ??? car je commence ma boucle For à i=1 (soit le premier caractère du texte) , mais comme je l'ai dit avant, ton tableau commence à la ligne 0 d'où si i=1 => 1-1 =0 (j'écris bien à la première ligne de mon tableau...et ainsi de suite jusqu'à i = 5 => 5-1=4 dernière ligne de mon tableau dans le cas de "maman" qui faisait 5 caractères)

maintenant:
[blue]Mid(Text1.Text, i, 1)
, Mid permet de récupérer une chaine de caractère dans un chaine....
son fonctionnement est le suivant :Mid(LaChaine, DebutDeLaSousChaine, NombreDeCaractèresALire)
Ici , Mid(Text1.Text, i, 1) signifie que , dans mon textbox, je vais récupérer à la position i un unique caractère....

et ainsi de suite

donc pour lire le nième caractère tu fais : Toto(n-1)

Voilà, la fonction split permet de coupé une chaine de caractère selon une autre chaine:
si tu prends la chaine maman et que tu fais Split("maman","a")

tu te retrouveras avec un tableau de 3 lignes contenant :
m
m
n

voilà @+

[blue]Yomm


yommvb@ifrance.com

Et que la source soit avec toi!!!!!

Re : Associer chaque caractere d'un mot a une variable différente le 23/09/2004 15:13:55

Classé sous : variable, mot, caractere, associer, différente

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS