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 SubVoici 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 SubJe 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 SubYess vous avez raison, c'est plus simple au lieu de me compliqué la vie,Thank you so much