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 :

boite de recherche dans un classeur


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Points : 50
    Points
    50
    Par défaut boite de recherche dans un classeur
    salut ,
    pourquoi quand je fais une recherche et que les mots on ete trouver il ne s'arrette pas en me disant qu'il n'y en a plus et si je fais non pour qu'il stop , il change de page ????

    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 RechercheMot()
     
    mot = InputBox("Mot à rechercher ?")
    For feuille = 1 To Sheets.Count
    Sheets(feuille).Select
    Set trouvé1 = Cells.Find(What:=mot)
    If Not trouvé1 Is Nothing Then
    trouvé1.Activate
    étiq:
    If MsgBox("Suivant ?", 4) = vbNo Then Exit Sub
    Set trouvé2 = Cells.FindNext(After:=ActiveCell)
     
    trouvé2.Activate
    GoTo étiq
    End If
     
    Next feuille
    End Sub
    si je coupe la section next page il ne fonctionne plus ???

    je pose beaucoup de question , mais un jour je serai meilleur et pourrai peut-etre vous aider a mon tour.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Le comportement est normal, dans la documentation on lit :
    "Lorsque la recherche atteint la fin de la plage de recherche spécifiée, elle revient au début de cette plage.
    Pour arrêter une recherche lorsqu'elle revient au point de départ, enregistrez l'adresse de la première cellule trouvée, puis comparez l'adresse de chaque cellule ultérieurement trouvée avec l'adresse enregistrée."


    voici la solution en modifiant légèrement ton code

    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
    19
    Sub RechercheMot()
     
    mot = InputBox("Mot à rechercher ?")
    For feuille = 1 To Sheets.Count
        Sheets(feuille).Select
        Set trouvé1 = Cells.Find(What:=mot)
        If Not trouvé1 Is Nothing Then
        Adresse_premier = trouvé1.Address
        trouvé1.Activate
    étiq:
        If MsgBox("Suivant ?", 4) = vbNo Then Exit Sub
        Set trouvé2 = Cells.FindNext(After:=ActiveCell)
        If trouvé2.Address = Adresse_premier Then GoTo étiq2
        trouvé2.Activate
        GoTo étiq
        End If
    étiq2:
    Next feuille
    End Sub
    et une autre un peu plus propre :

    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
    19
    Sub Find_Mot()
    mot = InputBox("Mot à rechercher ?")
     
    For feuille = 1 To Sheets.Count
        Sheets(feuille).Select
        Set trouvé1 = Cells.Find(What:=mot)
        If Not trouvé1 Is Nothing Then
            Adresse_premier = trouvé1.Address
     
            Do
                trouvé1.Activate
                If MsgBox("Suivant ?", 4) = vbNo Then Exit Sub
                Set trouvé1 = Cells.FindNext(After:=ActiveCell)
            Loop While Not trouvé1 Is Nothing And trouvé1.Address <> Adresse_premier
     
        End If
     
    Next feuille
    End Sub
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Points : 50
    Points
    50
    Par défaut
    merci ,
    dans le fond il fesait une loupe sans s'arreter ???

    mais maintenat ca fonctione parfaitement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] 1 recherche dans 2 classeurs
    Par Sebphyto dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/03/2014, 18h04
  2. Recherche dans un classeur fermé
    Par x109488 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/01/2013, 10h26
  3. [XL-2003] Recherche dans un classeur
    Par Naru80 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 24/01/2012, 19h49
  4. recherche dans un classeur
    Par izarra2408 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/06/2008, 16h38
  5. Macro recherche dans le classeur
    Par Max485 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/04/2007, 15h07

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