Fonction FIND

Résolu
Bonjour,

Pour éviter qu'on ne comprenne mal ce que je veux, je vais faire simple.
Dans une feuille excel dans une colonne il y a plusieurs NOM.
Pour faire simple je vais mettre 3 NOM
Voiture, Avion, Bateau.

En vba si je recherche un des trois mot ça fonction, mais si dans ma variante je recherche "Vélo" logique il ne trouve pas, mais j'ai le problème suivant la macro ce met en défaut "91"

Plus je cherche moins je comprends.

voici un des codes que j'ai fait.

donnée = "vélo"
Sheets("MAQUETTE").Select
y = [b1:b80].Find(What:=donnée, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns).Adress
If y = donnée Then
Sheets("MAQUETTE").Range("A6").Select
Else
Sheets("MAQUETTE").Range("A1").Select
End If
End Sub

Si je marque dans donnée = "Avion" c'est bon ça fonctionne vu qu'il est dans la liste, mais si je marque Vélo le y est vide est le programme bloque sur la ligne

y = [b1:b80].Find(What:=donnée, LookIn:=xlFormulas, LookAt:=xlPart,
SearchOrder:=xlByColumns).Adress

En résumé, je recherche, si un mot existe dans une colonne faire telle action, si elle existe pas faire autre chose.

2 réponses

  1. salut,

    et si tu mettais un "on error goto Blabla" ?

    dans le code tu rajoutes alors à l'endroit que tu veux (probablement après ta recherche du coup):

    Blabla:

    'la suite du code
    1. Contributeur
      Bonjour,

      pour tester si la donnée est dans la zone de recherche

      If application.countif(zonederecherche,données>0 then
        tes actions
      else 
        message d'erreur
      end if
      1. effectivement, c'est bien plus élégant comme ça !
        je me doutais qu'il y avait une condition du genre mais je ne savais pas laquelle, merci michel_m !