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 :

booléen d'erreur pour une fonction


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 47
    Points : 29
    Points
    29
    Par défaut booléen d'erreur pour une fonction
    bonjour à tous
    j'ai la fonction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lig = Columns(1).Find(nbr, Range("A1000"), , , xlByRows, xlNext).Row
    (merci à Michel M pour m'avoir aidé en passant )
    cependant il se peut que cette fonction ne marche pas, si elle ne trouve pas la valeur nbr dans la feuille excel
    j'aimerais faire un booléen qui est vrai lorsque la fonction marche et faux quand elle ne marche pas
    j'ai essayé avec la fonction iserror mais ca ne fonctionne pas pour ce genre d'erreur apparement
    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
    Tu peux utiliser ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    nbr = ""
    Set Ligne = Columns(1).Find(nbr, Range("A1000"), , , xlByRows, xlNext)
    If Not Ligne Is Nothing Then lig = Ligne.Row
    MsgBox lig
    Ce qui te donnera le No de la première cellule vide de ta colonne A. Tu peux la comparer à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         PremiereLignevide = Range("A65535").End(xlUp).Row + 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if lig = PremiereLignevide then msgbox "Donnée & nbr & " non trouvée !"
    Tu adaptes
    A+

    Nb, noublie pas de déclarer Ligne as range et à la fin, de mettre
    Set Ligne = Nothing

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 47
    Points : 29
    Points
    29
    Par défaut
    merci beaucoup ton is nothing m'a bien aidé c'est exactement ce que je cherchais
    en revanche je n'avais pas besoin de comparaison avec la première cellule vide
    j'ai simplement fait un If ligne Is Nothing Then
    merci d'avoir préciser les déclarations de variables
    je voulais savoir aussi a quoi correspond le set comme dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Ligne = Columns(1).Find(nbr, Range("A1000"), , , xlByRows, xlNext)
    je dois avouer que je l'utilise plusieurs fois dans mon code mais je ne sais pas vraiment sa fonction
    a+ et merci encore

  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
    Set sert à "intancier" le résultat de la recherche. Si pas de résultat alors résultat = rien
    Si résultat, alors résultat en tant qu'objet. Et en tant qu'objet, il contient tout : La donnée, l'adresse de la donnée dans la feuille et donc, le No de ligne, le No de colonne... tout, je te dis
    A+

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 47
    Points : 29
    Points
    29
    Par défaut
    si je comprends bien :
    -set var=....
    créer l'objet var

    -et var=....
    effetue le calcul et retourne un résultat

    c'est cela ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Points : 542
    Points
    542
    Par défaut
    si je comprends bien :
    -set var=....
    créer l'objet var

    -et var=....
    effetue le calcul et retourne un résultat

    c'est cela ?
    var te retourne soit un objet 1ere cellule trouvée ou s il n a pas trouvé d objet
    selon la requete il renvoie nothing

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 47
    Points : 29
    Points
    29
    Par défaut
    ok merci bcp

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

Discussions similaires

  1. Erreur dans une fonction
    Par dark_vidor dans le forum Langage
    Réponses: 6
    Dernier message: 15/01/2006, 10h23
  2. [FLASH MX] nom variable pour une fonction
    Par totoche dans le forum Flash
    Réponses: 2
    Dernier message: 20/12/2005, 14h00
  3. paramètres pour une fonction
    Par bul dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/05/2005, 07h49
  4. Réponses: 2
    Dernier message: 11/08/2004, 15h01
  5. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00

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