|
begin process at 2008 09 05 20:46:33
Derniers logiciels
|
Trouver une ressource (Nouvelle version du moteur, plus rapide & pertinent, essayez le !)
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.comEt 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.comEt 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.comEt 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
|
CalendriCode
| | | L | M | M | J | V | S | D |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | | | | | |
|
Téléchargements
Logiciels à télécharger sur le même thème :
|
|