Bonsoir à tous,
Je viens vers vous car la je bugge.....
J'ai un Array du type:
et un split du type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part tablo = Array("Mâles", "Hongres", "Femelles", "juments")
Je souhaite en fonction de l'Array trouver dans le split, un des 4 arguments de l'Array, mais en vain, il me renvoit "Trouvé" à chaque fois....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 chaine = "Pour juments de 7, 8 et 9 ans (V, U et T), n'ayant pas gagné 263.000 " splitchaine = Split(chaine, " ")
J'ai également essayé de la façon "Scripting.dictionary" que est une manière élégante et relativement rapide...Il y a un truc que je n'ai pas du comprendre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Sub Essai() tablo = Array("Mâles", "Hongres", "Femelles", "juments") chaine = "Pour juments de 7, 8 et 9 ans (V, U et T), n'ayant pas gagné 263.000 " splitchaine = Split(chaine, " ") For a = LBound(tablo) To UBound(tablo) For s = 0 To UBound(splitchaine) On Error Resume Next If IsError(Application.Match(splitchaine(s), tablo(a), 0)) Then 'If IsError(Application.Match(tablo(a), splitchaine(s), 0)) Then MsgBox "trouvé" Else MsgBox "non trouvé" End If On Error GoTo 0 Next Next End Sub
je sollicite votre aide pour me dépatouiller avec ces 2 solutions afin que je comprenne mon erreur dans les 2 sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 'On recherche dans chaine, la présence de mots dans tablo. Sub recherche() tablo = Array("Mâles", "Hongres", "Femelles", "juments") chaine = "Pour juments de 7, 8 et 9 ans (V, U et T), n'ayant pas gagné 263.000 " splitchaine = Split(chaine, " ") Application.ScreenUpdating = False Set d = CreateObject("Scripting.Dictionary") For Each C In tablo d.Add C.Value, C.Value Next C For j = LBound(splitchaine) To UBound(splitchaine) If d.Exists(splitchaine(j)) Then MsgBox splitchaine(j) Next j End Sub
Merci d'avance
seb
Partager