IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Recherche cellule contenant une chaine


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 255
    Points : 53
    Points
    53
    Par défaut Recherche cellule contenant une chaine
    Bonjour,

    Comment rechercher dans une feuille EXCEL une cellule contenant un mot (mais pas contenant uniquement le mot).
    Par exemple je cherche toutes les cellules contenant le mot "TEST"

    les cellules contenant TEST, TEST1, TEST2, 33TEST33 ect... doivent être retournées.

    Merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Avec find, tu fais ça, mais tu mets LookAt:=xlpart à la place de xlwhole

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MotCherché = "TEST"
                    Selection.Find(What:=MotCherché, After:=ActiveCell, LookIn:=xlValues, _
                        LookAt:=xlpart , SearchOrder:=xlByRows, SearchDirection:=xlNext).Activate
    Et tu mets ça dans une boucle

    Tu règles SearchOrder:=xlByRows ou columns selon tes besoins

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 255
    Points : 53
    Points
    53
    Par défaut
    Pas moyen de faire ça sans boucle.

    Du style je suis sur ma feuille, et je cherche la(les) cellule(s) contenant "TEST" ?

  4. #4
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Si!
    Tu mets "Cells" à la place de "Selection".
    Par contre, attention, si Excel ne trouve pas le mot que tu cherches, Excel va planter... Mais il est possible de faire une vérification pour éviter ça.

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Hello magasel, tu peux approfondir ? Comment récupère-t-il sa plage ?

    Peut-il faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MotCherché = "TEST" 
                    MaPlage = Cells.Find(What:=MotCherché, After:=ActiveCell, LookIn:=xlValues, _ 
                        LookAt:=xlpart , SearchOrder:=xlByRows, SearchDirection:=xlNext).Activate
    C'EST UNE QUESTION !

    Merci Passemoilesel

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 255
    Points : 53
    Points
    53
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Set xlsSheet = ActiveWorkbook.Worksheets(1)
    Set xlsRange = xlsSheet.Cells.find("TEST")
    Marche TRES BIEN

    Merci

  7. #7
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Et donc, pour éviter le plantage si le mot que tu cherches n'est pas dans ta feuille, tu peux rajouter ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Set MaCellule = Cells.Find(What:=MaRecherche, After:=ActiveCell, LookIn:=xlValues, _
                    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext)
        If Not MaCellule Is Nothing Then
            MsgBox ("Trouvé!")
            MaCellule.Interior.ColorIndex = 5
        End If
    Enfin, un truc du même genre.

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/10/2014, 10h53
  2. Recherche des membres contenant une chaine
    Par jsonline dans le forum EPM (Hyperion)
    Réponses: 7
    Dernier message: 06/04/2011, 10h31
  3. [XL-2003] Recherche d'une cellule contenant une chaine de caractere..
    Par visto94 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/09/2010, 14h28
  4. Pb de recherche de cellule contenant une valeur
    Par sevyc64 dans le forum Excel
    Réponses: 2
    Dernier message: 08/12/2009, 22h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo