Extraire un caractère en VBA

farell23 -  
ratikuss Messages postés 1996 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un petit problème sur un devoir en vba...
Je doit placer chaque caractère d'une chaine dans un tableau, mais ça ne marche pas...
Voilà un bout de mon code :

*************************************************
Public Sub FindTheWord()

Dim unword As String
Dim tabw(4) As String
Dim i, j As Integer

...

i = 0
j = 1

For i = 0 To 4 Step 1
tabw(i) = Mid(unword, j, [1])
j = j + 1
Next
**************************************************

La chaine unword est composé de 5 caractère (j'utilise la fonction len pour le vérifier).
Aucune lettre n'est placé dans le tableau. Quelqu'un pourrait-il m'aider un peu ?

A voir également:

6 réponses

ratikuss Messages postés 1996 Date d'inscription   Statut Membre Dernière intervention   262
 
J'ai fait ça et ça marche de mon coté.

Dim unword As String
Dim tabw(4) As String
Dim i, j As Integer

unword = Range("D1")


i = 0
j = 1

For i = 0 To 4 Step 1
tabw(i) = Mid(unword, j, [1])
j = j + 1

Cells(i + 1, 1) = tabw(i)

Next i


j'ai mis une chaine de caractère dans la case D1 et ensuite ça me met les 5 caractères de A1 à A5.
0
farell23
 
Merci pour la réponse, mais je crois que j'ai été un peu floue dans les explications. En fait je ne doit pas mettre le lettres dans les cellules d'un tableau excel, mais dans un tableau déclaré dans les variables. Il a une largeur de 5 pour contenir chacune des lettres.
0
ratikuss Messages postés 1996 Date d'inscription   Statut Membre Dernière intervention   262
 
Les valeurs sont déjà dans ta variable tabw(i)
Je n'ai fait que les extraire vers un tableau excel, ce qui veut dire que tabw(i) contient bien tes 5 caractères.
0
farell23
 
Donc le tableau contient les valeurs même si elle ne sont pas indiqué lorsque l'on fait tourné le programme pas à pas ?
0

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

Posez votre question
ratikuss Messages postés 1996 Date d'inscription   Statut Membre Dernière intervention   262
 
Oui, si tu met après ton code par exemple :

range("A1") = tabw(3)


La cellule A1 aura pour valeur le 4ième caractère =)
Pas besoin d'être dans la boucle.
0
farell23
 
Ok j'ai compris. Merci bien pour ton aide !
0
ratikuss Messages postés 1996 Date d'inscription   Statut Membre Dernière intervention   262
 
N'oublie pas de mettre ton sujet en "Résolu" ;-)
0