GNT sans publicité, site mobile, fonctionnalitées exclusives...

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
Lire les 5 réponses

Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ClémentMarcotte
Le #2991151
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



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

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


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 ?

Daniel
Le #2991141
Bonjour.
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:
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



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

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


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 ?







Daniel
Le #2991121
Plus simple :

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:
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



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

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


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 ?







Daniel
Le #2991091
Bonjour.
Excuse-moi, je t'ai répondu par erreur.
Daniel
"ClémentMarcotte" news:
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



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

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


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 ?







ClémentMarcotte
Le #2991031
Bonjour,

C'est bien ce que j'avais compris. ;-)

"Daniel" news:%
Bonjour.
Excuse-moi, je t'ai répondu par erreur.
Daniel
"ClémentMarcotte" de

news:
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



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

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


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 ?











Publicité
Suivre les réponses
Poster une réponse
Anonyme