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 :

Probleme recherche VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 33
    Par défaut Probleme recherche VBA
    Salut a tous,

    Je débute en VBA j'ai un petit probleme avec une macro je fais ue recherche dans un fichier qui correspond a la date du jour et ensuite je veux recherche une heure par exemple 17:54
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Cells.Find(What:="21:", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
            xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
            , SearchFormat:=False).Activate
    J'ai utilisé ce code mais mon probleme c'est qu'il me fait la recherche a partir du début du document et non a partir de ma cellule active comment faire ?

    Merci.

  2. #2
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 31
    Par défaut
    Bonjour,

    Je ne suis pas non plus un spécialiste de VBA donc ma réponse n'est pas peut être pas la meilleure mais je pense que si ton problème vient du fait que la recherche est effectuée à partir du début du document et non à partir de la cellule active , il te faut modifier le range de ton code c'est à dire la plage de cellule dans lequel la fonction .Find va chercher.

    Autrement dit en mettant "Cells" tu lui indiques de chercher dans toute la feuilles active. Il faut donc que tu précises ton range. Je ne connais pas la forme de ta selection mais si par exemple toutes tes données sont dans une meme colonne tu peux utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range(ActiveCell, ActiveCell.End(xlDown)).Find(What:="21:", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False).Activate
    D'autre part vu que tu cherches une valeur tu dois mettre "LookIn:=xlValues" (et non LookIn:=xlFormulas) dans ton code.

    En espérant t'avoir aider un peu,

    Bonne journée.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 33
    Par défaut
    Salut,

    Merci beaucoup pour ton aide bah écoute après avoir juste remplacé xlFormulas par xlValues maintenant sa fonctionne niquel donc je sais pas si quelqu'un pourrait expliquer mais moi j'y comprend rien mais sa fonctionne merci a toi !

  4. #4
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 31
    Par défaut
    Pour la petite explication Lookin indique à Excel ce qu'il doit chercher comme type de donnée. En indiquant XlFormulas tu lui demande chercher une formule et non une valeur. "21:" étant une valeur de cellule et non une formule (une formule aurait été du type "=Now()" par exemple), cela explique pourquoi il ne le trouvait pas.

    Tu peux indiquer résolu dans ton post

    Bonne continuation !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 33
    Par défaut
    Je me doutais bien qu'il chercher une formule mais ce que je comprend pas c'est qu'il me trouvais bien la valeur seulement il commencer au début du fichier et non a partir de la cellule active c'est sa qui est étrange ... je mettrais en résolu pour l'instant je laisse comme sa juste histoire d'avoir une explication si quelqu'un sait le pourquoi du comment en tout cas merci

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Un petit coup de F1 sur Find
    Citation Envoyé par Aide ExcelVBA méthode Find
    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.
    Donc ta recherche commence bien a la cellule active, ne trouvant rien elle repart au début de la plage spécifié, dans ton cas Cells, qui représente l’ensemble de ta feuille.

    Attention avec Activecell, si la personne qui utilise ton fichier change de fichier en cours d’exécution de la macro, ça risque de faire n'importe quoi

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. probleme : recherche dichotomique
    Par M.a.n.u. dans le forum C
    Réponses: 3
    Dernier message: 18/06/2006, 00h30
  2. Probleme Langage VBA
    Par nassu dans le forum Access
    Réponses: 21
    Dernier message: 20/05/2006, 10h53
  3. Probleme code vba
    Par alex38 dans le forum Access
    Réponses: 6
    Dernier message: 18/04/2006, 13h10
  4. Souvent j'ai le probleme (recherche de carractere...)
    Par GESCOM2000 dans le forum Access
    Réponses: 7
    Dernier message: 21/01/2006, 21h13
  5. probleme code vba ne s'execute pas apres instruction sql
    Par arnogef dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 29/12/2005, 13h34

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