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 :

Question sur Selection.find (Recherche)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 6
    Par défaut Question sur Selection.find (Recherche)
    Bonjour,

    Je cherche à faire une petite macro qui, en cliquant sur un bouton, active la cellule où se trouve le texte saisi dans un InputBox.

    Voici mon 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
     
    Sub Test()
    Dim Reponse As String
    Dim Trouve As Boolean
     
    Reponse = InputBox("Entrer la valeur recherchée", "Module de recherche")
    Range("A6:A10000").Select
    Trouve = Selection.Find(What:=Reponse, After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Activate
    If Trouve = True Then
        ActiveCell.Offset(0, 0).Select
    Else
        MsgBox ("Valeur non trouvée")
    End If
    End Sub
    Mais cela ne fonctionne pas.
    Si quelqu'un a une idée.
    Merci

    Arnaud

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Tu fais une recherche dans les formules contenues dans les cellules et non sur les valeurs --> LookIn:=xlFormulas

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 88
    Par défaut
    c'est le "Activate" qui fait hurler la bête, car Activate ne renvoie aucune valeur booléenne (Dim Trouve as boolean)

    Find renvoie une cellule, c'est à dire un objet Range
    si Find ne trouve rien, cet objet Range est égal à Nothing. Si tu essaye de le selectionner (Activate) ca entraine une erreur
    si Find trouve quelque chose, tu peux alors le selectionner

    de plus la remarque de Fring est judicieuse

    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 Test()
    Dim Reponse As String
    Dim Trouve As Range ' <--- MODIF
     
    Reponse = InputBox("Entrer la valeur recherchée", "Module de recherche")
    Range("A6:A10000").Select
    Trouve = Selection.Find(What:=Reponse, After:=ActiveCell, LookIn:=xlvalues, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Activate
     
    If Trouve Is Nothing Then ' <--- MODIF
        'PAS TROUVE
        MsgBox ("Valeur non trouvée")
    Else
       ' TROUVE
        Trouve.Select
    End If
    End Sub

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

Discussions similaires

  1. Question sur select distinct et le tri.
    Par assahdo dans le forum SQL
    Réponses: 6
    Dernier message: 25/06/2010, 09h55
  2. Question sur SELECT IN( , , ,)
    Par jacques64 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 08/03/2009, 11h55
  3. une question sur Selection
    Par naty76 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/02/2009, 20h16
  4. Boucle sur Selection.Find.Execute
    Par Dapangma dans le forum VBA Word
    Réponses: 4
    Dernier message: 12/08/2008, 08h57
  5. question sur SELECT ...WHERE...IN
    Par danseur dans le forum Requêtes
    Réponses: 3
    Dernier message: 23/01/2004, 15h23

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