Ne pas passer à la procédure suivante en cas d'erreur

Bonsoir à tous !

J'ai besoin de vos lumières sur un petit blocage que je rencontre actuellement :

J'ai un bouton sur une feuille excel, qui lance plusieurs procédures à la suite :

Private Sub Refresh_Click()
Call CheckWizard
Call Macro2
Call Macro3
End Sub

Comme les macros 2 et 3 sont en "automation" avec un autre logiciel, la première procédure

"CheckWizard" permet de vérifier si mon autre logiciel est bien ouvert et dispo avant de poursuivre.

Cette procédure contient une gestion d'erreur qui fonctionne à merveille quand je l'exécute seule

(MsgBox + Arrêt de la procédure), donc je vous épargne tout son contenu.

Le problème est que les procédures suivantes sont toujours exécutées par le code de mon petit bouton, même en cas d'erreur. Du coup, c'est le drame ! Comment puis-je dire à mon petit bouton de tout arrêter si la 1ère macro rencontre l'erreur ?

Merci beaucoup pour votre aide !

Bonjour

Une méthode très simple

Tu définis une variable publique

Dans un module standard tu écris en haut avant la première procédure

Public OnStoppe As Boolean

Dans ta 1ère macro (CheckWizard) si une erreur est détectée tu passes cette variable à True

OnStoppe = True

Ensuite dans la macro principale

    Private Sub Refresh_Click()
    OnStoppe = False
    Call CheckWizard
    If OnStoppe = True Then Exit Sub
    Call Macro2
    Call Macro3
    End Sub

Effectivement, c'était assez simple à résoudre

Je me doutais qu'une variable publique allait m'aider, mais j'imaginais ça inutilement plus compliqué !

Merci beaucoup Banzai 64 !

Micka.

Rechercher des sujets similaires à "pas passer procedure suivante cas erreur"