Methode Find + "like" ou "or"

Kernoz

XLDnaute Occasionnel
Bonjour à tous,

J'ai un petit soucis avec un bout de code que j'aimerais améliorer. J'utilise la méthode .find pour trouver la premiere cellule d'une selection à définir :

"toto" est un string defini en amont ...

Code:
Set c = .Find(toto)

J'aimerais dire à ma bécane :

- soit de trouver une cellule contenant ma chaine de caracteres ( .find like (toto) )
- soit de trouver une cellule contenant une des chaines de caractere (.find(toto) or (tata) or (titi)

Mais bien sur je ne sais pas du tout comment formuler la chose !

PS : désolé de ne pas fournir de fichier exemple mais pour le coup je ne pense pas qu'il y ait un réel interet le probleme étant à priori juste lié à la syntaxe du code.

Merci d'avance pour votre aide :)
 

Paf

XLDnaute Barbatruc
Re : Methode Find + "like" ou "or"

Bonjour Kernoz,

Pas sûr de tout comprendre : toto est une variable ou une chaine de caractères ?

si c'est une chaine, il faudrait Set c = .Find("toto")

s'il s'agit de trouver les mots du style txtx, ceci pourrait convenir :

Set c = .Find("t?t?")

? étant un 'Joker' pour un caractère.

A+
 

Si...

XLDnaute Barbatruc
Re : Methode Find + "like" ou "or"

salut
"toto" est un string defini en amont ...

à tester
Code:
Sub un()
  toto = "toto"
  Set r = Selection.Find("*" & toto & "*")
  If Not r Is Nothing Then MsgBox r.Row 'pour voir
End Sub

Sub etplus()
  toto = Array("toto", "titi", "tata")
  For n = 0 To 2
    Set r = Selection.Find("*" & toto(n) & "*")
    If Not r Is Nothing Then MsgBox r.Row 'pour voir
  Next
End Sub

nota : dans le second cas, Like pourrait avantageusement remplacer Find
 

Statistiques des forums

Discussions
312 321
Messages
2 087 264
Membres
103 500
dernier inscrit
Suk Ram