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 EXCEL: fonction IF IS ERROR [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2015
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 197
    Par défaut VBA EXCEL: fonction IF IS ERROR
    Bonjour,

    Je n'arrive pas à utiliser la fonction is error relative à la fonction VLOOKUP. un message d'erreur s'affiche toujours:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CommandButton19_Click()
     
    Dim x As Variant
       x = Application.WorksheetFunction.VLookup(CDbl(TextBox31), Sheets("Feuil2").Range("Tablo"), 3, False)
       If IsError(x) Then
          Exit Sub
       Else
          TextBox32 = x
     
    End Sub
    Merci pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Je suggère (suis-je bête) de consulter l'aide interne de VBA pour savoir ce qu'est la fonction IKsErros.
    On peut y lire :
    La fonction IsError est utilisée pour déterminer si une expression numérique représente une erreur
    Bien.
    Question que l'on se pose alors assez logiquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.WorksheetFunction.VLookup(CDbl(TextBox31), Sheets("Feuil2").Range("Tablo"), 3, False)
    est-elle une expression numérique ?
    Ben ... On ouvre donc son aide VBA interne à la rubrique WorksheetFunction.VLookup, méthode
    Ce n'est pas une expressin numérique du tut, mais une méthode.
    et on lit : tant ce qu'elle retourne que ce qu'elle peut retourner...
    Y trouve-t-on ce que serait IsError ? -- >> non, n'est-ce pas !
    Commence, veux-tu bien, par ce genre de démarche. Ce sera un vrai premier pas.

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour !

    Citation Envoyé par LANGAZOU Voir le message
    Je n'arrive pas à utiliser la fonction is error relative à la fonction VLOOKUP. un message d'erreur s'affiche toujours
    C'est normal et ce n'est pas VLookup la cause mais l'atroce WorksheetFunction !
    Son but est de justement planter un code en cas d'un résultat d'une fonction renvoyant une erreur …
    Ne jamais l'utiliser, Application suffisant largement !

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Stockholm, London, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  4. #4
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Coucou Marc,
    j'en avait fait l'expérience sur le post où il fallait réduire le temps d'une macro qui durait plus de 1h25, celle où tu conseillé l'évaluation des noms se trouvant sur un autre classeur.
    J'étais tombé sur le problème de WorksheetFunction, depuis ce jour c'est Application que j'utilise.
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  5. #5
    Membre confirmé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2015
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 197
    Par défaut
    Merci beaucoup ;-)

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

Discussions similaires

  1. VBA excel, fonction exponentiel
    Par vanima dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/09/2006, 10h33
  2. VBA -> Excel : Fonction ChartObjects()
    Par fabb5 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/07/2006, 10h22
  3. [VBA][Excel]fonction networkdays
    Par nemesys971 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/01/2006, 13h47
  4. [VBA/Excel] Fonction open sous Excel 97
    Par nico01984 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/01/2006, 14h19
  5. [VBA EXCEL] Fonction Instr
    Par thulvar dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/01/2006, 14h43

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