Extraire un caractère en VBA

Fermé
farell23 - 25 mai 2010 à 08:55
ratikuss Messages postés 1996 Date d'inscription vendredi 8 juin 2007 Statut Membre Dernière intervention 14 décembre 2016 - 26 mai 2010 à 09:38
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 vendredi 8 juin 2007 Statut Membre Dernière intervention 14 décembre 2016 262
25 mai 2010 à 09:16
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
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 vendredi 8 juin 2007 Statut Membre Dernière intervention 14 décembre 2016 262
25 mai 2010 à 14:01
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
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 vendredi 8 juin 2007 Statut Membre Dernière intervention 14 décembre 2016 262
26 mai 2010 à 09:09
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
Ok j'ai compris. Merci bien pour ton aide !
0
ratikuss Messages postés 1996 Date d'inscription vendredi 8 juin 2007 Statut Membre Dernière intervention 14 décembre 2016 262
26 mai 2010 à 09:38
N'oublie pas de mettre ton sujet en "Résolu" ;-)
0