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 :

[VBA-E]Fonction .find


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Points : 48
    Points
    48
    Par défaut [VBA-E]Fonction .find
    Bonjour!
    J'ai un soucis avec la fonction finf de VB excel... je ne dois pas bien saisir son fonctionnement mais excel me renvoi tjs une erreur!!
    Je cherche a trouver la valeur d'un indice "article" dan plusieurs feuilles, et je veux que VB me renvoi le nom de la feuille ou la valeur a été trouvé..
    voila ma fonction:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Columns("B:B").Select
        res = Selection.Find(Article, After:=ActiveCell, LookIn:=xlValues, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False)
     
        If Not res Is Nothing Then 'Si une valeur a été trouvée
        Trouvé = "O"
        End If
    De toute évidence, c'est le fait que ma valeur recherchée soit une variable qui pose probleme! car si je remplace par un nombre quelconque, cela fonctionne!

    Si qqun en sait plus sur ce mystèrieux fonctionnement... merci d'avance!!

  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 543
    Points
    15 543
    Par défaut
    Dans tous les cas, ce n'est pas un problème de variable. Tu peux très bien les utiliser.
    Si ce n'est pas une valeur, essaie d'utiliser xlFormulas au lieu de xlvalues

    Tu dis

    A+

  3. #3
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Points : 48
    Points
    48
    Par défaut
    Non déja essayé avec xlformulas...

  4. #4
    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 543
    Points
    15 543
    Par défaut
    Je viens d'essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MaChose = "fqsfs"
        Columns("A:A").Select
        ok = Selection.Find(What:=MaChose, After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False).Activate
        MsgBox ok
    qui fonctionne et qui reprend ta syntaxe. A mon avis, ton problème vient d'ailleurs
    As-tu essayé le pas à pas ? Vérifie le contenu de ta variable et la feuille dans laquelle tu cherches...

    Tu dis

    A+

  5. #5
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Points : 48
    Points
    48
    Par défaut
    Hum..... bon j'ai trouvé le reel probleme.....
    j'ai effectivement remplacé mon indice par une valeur qui se trouvait effectivement dans la feuille et cela fonctionne...
    ma fonction plante donc lorsqu'elle ne trouve pas la valeur!!
    Ce qui nous renvoit un second probleme... comment la faire marcher et eventuellement renvoyer la valeur "FAUX" lorsque la valeur n'est pas trouvée??
    Je veux en fait empecher que ma fonction plante qd elle ne trouve rien.. je sais quil existe qqchose comme ca mais je ne retrouve plus!!!

  6. #6
    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 543
    Points
    15 543
    Par défaut
    Effectivement mais comme je ne fais pas de test sur Find = true, je pensais que tu voulais ton boolean... Tu peux essayer avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                On Error Resume Next
                    Selection.Find(What:=MotCherché, After:=ActiveCell, LookIn:=xlValues, _
                        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext).Activate
                    ok = Err = 0 'pas d'erreur, le mot a été trouvé
                    err.clear
                On Error GoTo 0
                if not ok then
                        'Je fais ce que j'ai à faire
                   else
                        NoLigneTrouvée = ActiveCell.Row
    A+

  7. #7
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Points : 48
    Points
    48
    Par défaut
    Super! Ca marche parfait!
    Merci bcq!!!

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

Discussions similaires

  1. [XL-2010] VBA compiler fonction .find, .like et .copy
    Par aquopyra dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/07/2014, 19h14
  2. [E-03] Aide sur la Fonction .Find dans VBA
    Par Gunsx dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/01/2009, 22h36
  3. VBA Access : Fonction find qui ne marche pas
    Par leeloo35 dans le forum VBA Access
    Réponses: 7
    Dernier message: 09/02/2008, 16h56
  4. [VBA-E]Problème avec la fonction Find
    Par Mirx1 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 27/04/2006, 18h43
  5. [VBA-E] Fonction "FIND"
    Par cinc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/09/2005, 11h16

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