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 :

Comment lever une erreur? [XL-2007]


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
    Juin 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2009
    Messages : 24
    Par défaut Comment lever une erreur?
    Ma question est simple. Je connais tous les principes du On error goto.

    Mais j'aimerais pouvoir , lors d'une certaine vérification de donnée, LEVER une erreur, parce que l'erreur ne sera détectée que par un sub beaucoup plus loin parce que l'erreur est dans un string.

    bref. est-ce qu'il y a un moyen de dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If mystr = "" then RAISEERROR
    merci

  2. #2
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Bonjour,

    Je ne sais pas si tu vraiment mettre un code d'erreur officiel (celui que le VBA détecte). Sinon, tu peux utiliser un bool (bErreur) global, l'initier à faux, et si tu rencontre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If mystr = "" then bErreur = true
    Dans ce cas, avec une variable globale, tu pourras vérifier si une erreur est présente pendant tout ton code.

    Ou sinon, plus compliqué à utiliser et suivre, utiliser l'erreur de VBA Bonne chance!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2009
    Messages : 24
    Par défaut merci pour ta réponse
    merci pour ta réponse.

    Ton utilisation du booléen ressemble à ce que je fais en C tres souvent.
    merci aussi pour Err.Number, je vais lire là-dessus.

    l'idée, c'est que mon code a un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    On Error Goto errsub
     
    'code
     
     
    errsub:
     
    'gestion d'erreur
    et que l'erreur peut survenir, mais il y a une erreur additionnelle qui ne peut être testée que logiquement, et je me demandais si je pouvais déclencher une erreur pour aller à errsub.

    merci

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut code un peu plus complet et test sur err
    bonjour,

    un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Sub test_erreur()
    On Error GoTo fin
     
    Dim titi as string
     
    If titi = "" Then
        Err.Raise Number:=25, Description:="Mon erreur perso"
    End If
     
     
    fin:
    If err.number > 0 then
    MsgBox "Numero: " & Err.Number & vbCr & " Description : " & Err.Description
    end if
    End Sub

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2009
    Messages : 24
    Par défaut
    merci beaucoup

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

Discussions similaires

  1. [Oracle 10g] Comment résoudre une erreur ORA-3000
    Par DoRiane dans le forum Oracle
    Réponses: 3
    Dernier message: 10/04/2006, 09h44
  2. comment intercepté une erreur
    Par Guillau.laurent dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 30/03/2006, 09h28
  3. Comment détecter une erreur dans un process
    Par chuckboy dans le forum MFC
    Réponses: 3
    Dernier message: 25/10/2005, 10h40
  4. Réponses: 18
    Dernier message: 19/10/2005, 14h07
  5. Comment lancer une erreur dans une procédure stockée
    Par borgfabr dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2005, 17h06

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