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 :

On error Goto MsgBox


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Cadre
    Inscrit en
    Septembre 2013
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Cadre
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 83
    Par défaut On error Goto MsgBox
    Bonjour à tous

    dans la macro suivante que j'ai trouvé sur le net, j'ai rajouté "On error GoTo 1" car lorsque la liste en colonne A est égale à la liste en colonne B, un message d'erreur apparaît.
    J'ai essayé d'ajouter avant de sortir de la macro un MgsBox "blablabla" en vain.
    Quelqu'un peut-il me aider s'il vous plait?
    merci d'avance.
    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
    17
    18
    19
    20
    21
    Sub Liste2_Liste1()
     
    On Error GoTo 1
     
      a = Range("A1:A" & [A65000].End(xlUp).Row)
      Set MaListe1 = CreateObject("Scripting.Dictionary")
      For Each c In a
       MaListe1(c) = ""
      Next c
      b = Range("B1:B" & [B65000].End(xlUp).Row)
      Set MaListe2 = CreateObject("Scripting.Dictionary")
      For Each c In b
        If Not MaListe1.exists(c) Then MaListe2(c) = ""
      Next c
     
     
       [C1].Resize(MaListe2.Count, 1) = Application.Transpose(MaListe2.keys)
     
    1  Exit Sub
     
    End Sub

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Salut, quelque chose du genre devrait faire l'affaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Test()
     
    On Error GoTo ErrHandler
     
    'Ton code ici
     
    Exit Sub
     
    ErrHandler:
    MsgBox "Une erreur s'est produite : " & Err.Number & " Descriptif : " & Err.Description
    End Sub
    Dis-moi si ça te va

    Quentin

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    En fait, quoi qu'il arrive ton code va passer par le 1, qu'il y ait erreur ou non. Il faudrait que ton 1 soit après ton Exit Sub. Comme ça, en lecture normale, la macro ferme par Exit Sub, si erreur, elle ferme par End Sub

  4. #4
    Membre confirmé
    Homme Profil pro
    Cadre
    Inscrit en
    Septembre 2013
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Cadre
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 83
    Par défaut
    Merci beaucoup.
    Voilà le code final:

    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
    17
    18
    19
    20
    21
    22
    23
    Sub Liste2_Liste1()
     
    On Error GoTo ErrListe2_Liste1
     
      a = Range("A1:A" & [A65000].End(xlUp).Row)
      Set MaListe1 = CreateObject("Scripting.Dictionary")
      For Each c In a
       MaListe1(c) = ""
      Next c
      b = Range("B1:B" & [B65000].End(xlUp).Row)
      Set MaListe2 = CreateObject("Scripting.Dictionary")
      For Each c In b
        If Not MaListe1.exists(c) Then MaListe2(c) = ""
      Next c
     
     
       [C1].Resize(MaListe2.Count, 1) = Application.Transpose(MaListe2.keys)
     
    1  Exit Sub
     
    ErrListe2_Liste1:
    MsgBox "Pas d'erreur de pointage aujourd'hui" ': " & Err.Number & " Descriptif : " & Err.Description
    End Sub

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

Discussions similaires

  1. pourquoi on error goto ne fonctionne qu'une seule fois ?
    Par alsimbad dans le forum Général VBA
    Réponses: 9
    Dernier message: 05/09/2014, 12h09
  2. pb avec "On error goto"
    Par malingue dans le forum Access
    Réponses: 9
    Dernier message: 20/06/2006, 19h54
  3. [vb6]On Error goto 0
    Par riesseg dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 20/04/2006, 20h04
  4. On error goto Err : goto non exécutée au 2ème appel
    Par charliejo dans le forum Access
    Réponses: 1
    Dernier message: 11/04/2006, 15h00
  5. [VBA-E]Pb "On Error GoTo"
    Par hdidan dans le forum Macros et VBA Excel
    Réponses: 33
    Dernier message: 04/04/2006, 18h41

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