convertir une chaine en table
Le
Jacques
Bonjour,
1 - je travaille en VBA Excel et j'ai une chaine de caractère "chaine de
test" et
je voudrais la convertir en tableau pour que
tab [0] = chaine
tab [1] = de
tab [2] = test
2 - je voudrais utiliser ça pour faire une recherche multi mot.
exemple :
j'ai plussieur chaine :
chaine 1 = "ceci contient un test"
chaine 2 = "Celle là est juste une chaine"
chaine 3 = "vous ne trouverez rien ici"
si je cherche ma chaine de départ "chaine de test" dans les chaines
ci-dessus je voudrais comme résultat:
Ok pour chaiine 1
Ok pour chaine 2
Nok pour chaine 3
Merci d'avance.
Jacques
1 - je travaille en VBA Excel et j'ai une chaine de caractère "chaine de
test" et
je voudrais la convertir en tableau pour que
tab [0] = chaine
tab [1] = de
tab [2] = test
2 - je voudrais utiliser ça pour faire une recherche multi mot.
exemple :
j'ai plussieur chaine :
chaine 1 = "ceci contient un test"
chaine 2 = "Celle là est juste une chaine"
chaine 3 = "vous ne trouverez rien ici"
si je cherche ma chaine de départ "chaine de test" dans les chaines
ci-dessus je voudrais comme résultat:
Ok pour chaiine 1
Ok pour chaine 2
Nok pour chaine 3
Merci d'avance.
Jacques

Poser une question


Avec Excel 2000 et + tu peux SPLITter ta phrase. Le résultat te donne un
tableau en variant.
( Par mesure de précaution, oublie l'idée de tab(0). Tab est un mot réservé
en BASIC et je ne suis pas sur que ce serait bien digéré comme nom de
tableau),
Sub phraseentableau()
dim tableau as variant, letexte as string
tableau =split(letexte, " ")
end sub
Donc, cela voudrait que si un seul des mots de "chaîne de test" se retrouve
dans une ou l'autre des chaînes, cela donne OK ?
Essaie et adapte :
Sub test()
Dim Tabl, Tabl2, Morceau, Item, Trouve As Boolean
Tabl = Split("vous ne trouverez rien ici")
Tabl2 = Split("ceci contient un test")
For Each Morceau In Tabl2
Trouve = False
For Each Item In Tabl
If Item = Morceau Then
MsgBox "Ok"
Trouve = True
End If
Next Item
Next Morceau
If Trouve = False Then MsgBox "NOk"
End Sub
Cordialement.
Daniel
"ClémentMarcotte" news:
Sub test()
Dim Tabl, Tabl2, Morceau, Item, Trouve As Boolean
Tabl = Split("chaine de test")
Trouve = False
For Each Item In Tabl
Var = InStr(1, "Celle là est juste une chaine", Item)
If Var <> 0 Then
MsgBox "Ok"
Trouve = True
End If
Next Item
If Trouve = False Then MsgBox "NOk"
End Sub
Daniel
"ClémentMarcotte" news:
Excuse-moi, je t'ai répondu par erreur.
Daniel
"ClémentMarcotte" news:
C'est bien ce que j'avais compris. ;-)
"Daniel" news:%