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 :

Gestion des erreurs VBA [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Points : 41
    Points
    41
    Par défaut Gestion des erreurs VBA
    Bonjour à tous,

    J'aurais voulu savoir comment gérer le fait qu'une erreur soit possible dans un programme VBA et passer outre.
    Je m'explique avec un exemple.
    Je code un programme permettant une RechercheV (Vlookup). Imaginons que le tableau de recherche soit assez grand et que les noms se ressemblent trop pour utiliser le paramètre "True" dans cette fonction.


    Pour mon exemple, l'utilisateur va écrire le nom qu'il recherche dans une cellule mais se trompe dans l'écriture.
    Comment faire pour ne pas que VBA affiche un message d'erreur au niveau du code, comme quoi la rechercheV est impossible dans le range sélectionné. Car Vba ne retrouve le nom correspondant dans le tableau et ne peut donner l'information correspondante.
    Mais qu'une Msgbox apparaissent avec texte expliquant qu'il y a une erreur d'orthographe ou de synthaxe par exemple.
    Voir même de proposer une MsbBox (je n'utilise peut-etre pas le bon terme), avec une liste déroulante des noms existant, afin de faire une recherche manuelle?

    Merci

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Une piste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsError(Evaluate("=VLOOKUP(D10,$A$10:$B$11,2,FALSE)")) Then MsgBox "Erreur"

  3. #3
    Membre du Club
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Points : 41
    Points
    41
    Par défaut
    Merci, je vais explorer cette piste tout de suite !

    EDIT :

    Alors je comprend le principe mais mon problème est pour le placer convenablementdans le code. L'erreur s'affiche quand le programme arrive sur la ligne de Vlookup et donc je ne voit pas comment mettre la ligne "If" pour qu'elle soit lu alors que l'erreur bloque le code.

    peut etre dois je mettre un code pour envler la MsbBox de VBA pour m'indiquer l'erreur ?

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

Discussions similaires

  1. question d'un débutant sur la gestion des erreurs en VBA
    Par David1259 dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/01/2009, 12h43
  2. [VBA-EXCEL] Gestion des erreurs et manipulation du contenu d'une cellule
    Par Froggy007 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/09/2008, 20h42
  3. [VBA] Gestion des Erreurs, type de l'objet Err
    Par bastienh dans le forum VBA Access
    Réponses: 7
    Dernier message: 26/06/2007, 10h28
  4. [VBA-E] Dysfonctionnement dans la gestion des erreurs
    Par Choco49 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/06/2006, 11h44
  5. [VBA-E] Pb sur gestion des erreurs
    Par micoscas dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 08/03/2005, 17h08

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