OVH Cloud OVH Cloud

gestion des espaces pour recherche VBA

1 réponse
Avatar
Ludivine mallec
Bonjour,

A l'aide d'une BDD documentaire sous Excel comportant des mots clés, je
souhaite faire des recherches de façon aisée.
Je me trouve avec des listes de ce genre : "fruitier graminee arbuste
conifere"

lorsque je tape "fruitier" ou "arbuste" je retrouve bien les documents qui
correspondent mais dès que je veux taper par exemple : "Fruitier arbuste"
cela ne marche pas car graminee est au milieu. Comment procéder pour que la
recherche s'effectue en pouvant choisir les termes sans contraintes de la
prise en compte de ces suites alphanumériques ? considérer l'espace comme un
opérateur booléen ?

J'ai le code classique suivant :

Cells.Find(What:=Range("A1"), After:=ActivateCell, LookIn:=xlFormulas,
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlnext,
MatchCase:=False).Activate

If ActivateCell = Range("A1") Then Msgbox " pas d'autres résultats",
vbinformation, "Résultat de votre requête"

Select Case ActiveCell
Case Is <> Range("A1")

RESULTAT.Show

End Select

Merci pour l'aide et les suggestions.

1 réponse

Avatar
docm
Bonjour.

Voici une façon de gérer les espaces.

Private Sub CommandButton1_Click()
Set mem = Selection

For Each rng In Selection

On Error Resume Next
a = Range("a1")
a = Trim(a) & " "
ok = False
While a <> "" And ok = False
x1 = Mid(a, 1, InStr(a, " ") - 1)
a = Trim(Mid(a, InStr(a, " ") + 1))
If a <> "" Then a = a & " "
If Not IsError(Application.Find(x1, rng)) Then
rng.Select
MsgBox rng
ok = True
End If
Wend
On Error GoTo 0
Next rng

mem.Select

End Sub


"Ludivine mallec" a écrit dans le
message news:
Bonjour,

A l'aide d'une BDD documentaire sous Excel comportant des mots clés, je
souhaite faire des recherches de façon aisée.
Je me trouve avec des listes de ce genre : "fruitier graminee arbuste
conifere"

lorsque je tape "fruitier" ou "arbuste" je retrouve bien les documents qui
correspondent mais dès que je veux taper par exemple : "Fruitier arbuste"
cela ne marche pas car graminee est au milieu. Comment procéder pour que


la
recherche s'effectue en pouvant choisir les termes sans contraintes de la
prise en compte de ces suites alphanumériques ? considérer l'espace comme


un
opérateur booléen ?

J'ai le code classique suivant :

Cells.Find(What:=Range("A1"), After:¬tivateCell, LookIn:=xlFormulas,
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlnext,
MatchCase:úlse).Activate

If ActivateCell = Range("A1") Then Msgbox " pas d'autres résultats",
vbinformation, "Résultat de votre requête"

Select Case ActiveCell
Case Is <> Range("A1")

RESULTAT.Show

End Select

Merci pour l'aide et les suggestions.