Sortir d'un sub lorsque la première appel de macro n'est pas exécuter

Bonjour,

Actuellement j'essaye de rassembler plusieurs macro au sein même d'un Sub grâce à la fonctionnalité Call, mais j'ai un problème le premier call qui se nomme Supprimer, qui comme le nom l'indique supprimer toutes les données pour pouvoir copier et coller les nouvelles information or dans cette fonction j'ai une MsgBox qui demande si ou non l'utilisateur veut supprimer les données.*

Lorsqu'il clique sur Oui le programme se lance bien ainsi que la suite des Call, à l'inverse lorsqu'on clique sur Non aucun des données n'est supprimer mais l'exécution du code se suis (donc superposition des données)

J'aimerai savoir si y a un moyen de end sub directement suite au clique sur non dans le Call Supprimer

Voici le code :

Sub Lancement()

Call Supprimer ' Suppression des données avant le transfert des différents donnée  

Dim Fich As Long 

Call CP1 'copie et colle des données sur des feuilles spécifique

Call CP2 'copie et colle des données sur des feuilles spécifique

Call CL3 'copie et colle des données sur des feuilles spécifique

Call CL4 'copie et colle des données sur des feuilles spécifique 

    Range("B1").End(xlDown).Offset(1).Select ' Select the last empty cell 

    Num = ActiveCell.Row 'Take the row number 

Call CPCL1 (Fich)'copie et colle des données sur des feuilles spécifique  

    MsgBox ("Vos données on bien été transférer") 

End Sub

Voici le Delete_DATA

Public Sub Supprimer()

    If MsgBox("Êtes-vous certain de vouloir supprimer toutes les données ajouter à ce fichier Template ?", vbYesNo, "Veuillez confirmer votre choix !") = vbYes Then

    Call Supp_All 'supprime tout les données 

    MsgBox ("Vos données ajouter ont bien été supprimer")

Exit Sub 'Annule la suppression et quitte le sub 
    End If 

MsgBox ("La suppression des données a été annulé")'message d'annulation 

End Sub

Je voudrais que dès que la suppression est annulé on quitte le sub Lancement sans exécuté la suite des call. Votre aide me sera précieuse

Bonjour,

A mon avis le plus simple est de grouper toutes les instructions à la suite dans une unique macro. Sinon à minima sortir la MsgBox de la macro Supprimer, comme ceci :

Sub Lancement()

Dim Fich As Long

If MsgBox("Êtes-vous certain de vouloir supprimer toutes les données ajoutées à ce fichier Template ?", vbYesNo, "Veuillez confirmer votre choix !") = vbYes Then
    Call Supp_All 'supprime toutes les données 
    MsgBox ("Vos données ont bien été supprimées")
    Call CP1 'copie et colle des données sur des feuilles spécifiques
    Call CP2 'copie et colle des données sur des feuilles spécifiques
    Call CL3 'copie et colle des données sur des feuilles spécifiques
    Call CL4 'copie et colle des données sur des feuilles spécifiques
    Fich = Range("B1").End(xlDown).Offset(1).Row 'Take the row number
    Call CPCL1 (Fich)'copie et colle des données sur des feuilles spécifiques
    MsgBox ("Vos données ont bien été transférées")
Else
    MsgBox ("La suppression des données a été annulée")'message d'annulation ' Suppression des données avant le transfert des différentes données  
End If 

End Sub

Yess vous avez raison, c'est plus simple au lieu de me compliqué la vie,Thank you so much

Rechercher des sujets similaires à "sortir sub lorsque premiere appel macro pas executer"