XL 2013 Arrêter une macro si

Etn

XLDnaute Occasionnel
Rebonjour les gens !

J'utilise la macro suivant qui :
- Efface les données de A1:S500 la feuille "Base J-1"
- Copie les données de J16:AB500 de la feuille "Saisie" vers la "Base J-1"
- Efface les données de J16:AB500 de la feuille "Saisie".

Je souhaiterais que si la cellule J16 de la feuille "Saisie" est vide, alors la macro ne s'effectue pas (enfin les effacements de données et copies), et un message apparait : "L'extraction ARPSON n'a pas été importée".

Code:
Sub Dupliquer()
    Sheets("Base J-1").Range("A1:S" & Sheets("Base J-1").Range("A500").End(xlUp).Row).ClearContents
    Sheets("Saisie").Range("J16:AB" & Sheets("Saisie").Range("AB500").End(xlUp).Row).Copy Destination:=Sheets("Base J-1").Range("A1")
    Sheets("Saisie").Range("J16:AB" & Sheets("Saisie").Range("AB500").End(xlUp).Row).ClearContents
End Sub

J'ai cherché et j'ai essayé en rajoutant ce code avant ma macro mais cela ne fonctionne pas car la macro se lance quand même :
Code:
 If [J16] = "" Then
 MsgBox "L'extraction ARPSON n'a pas été importée"
 Cancel = True
End If

Merci d'avance pour votre aide.

Cordialement,

Etn
 
Dernière modification par un modérateur:

Etn

XLDnaute Occasionnel
Re : Arrêter une macro si

Bonjour thebenoit59 et merci de ton aide.

J'ai essayé et j'ai compris un truc.

En fait le bouton lance 2 macros (je connais pas le code pour relier 2 macros en 1..)

Du coup j'active cette macro :

Code:
Sub Transfer()

Dupliquer
Macro3

 
 End Sub

Qui lance la macro précédente (qui se stoppe du coup) ainsi que la "macro 3"
Code:
Sub Macro3()
'
' Macro3 Macro
'

'
    Worksheets("TCD").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
    Sheets("Saisie").Select
    Sheets("Tombees mensuelles").Select
    ActiveSheet.Range("$C$1:$H$122").AutoFilter Field:=6, Criteria1:="<>"
    Sheets("Tombees 2016").Select
    ActiveSheet.Range("$B$1:$G$368").AutoFilter Field:=6, Criteria1:="<>"
    Sheets("Tombees 2017").Select
    ActiveSheet.Range("$B$1:$G$368").AutoFilter Field:=6, Criteria1:="<>"
    Sheets("Tombees 2018-2025").Select
    ActiveWindow.SmallScroll Down:=-78
    ActiveSheet.Range("$B$1:$G$2924").AutoFilter Field:=6, Criteria1:="<>"
    ActiveWindow.ScrollWorkbookTabs Sheets:=-1
    ActiveWindow.ScrollWorkbookTabs Sheets:=-1
    ActiveWindow.ScrollWorkbookTabs Sheets:=-1
    ActiveWindow.ScrollWorkbookTabs Sheets:=-1
    ActiveWindow.ScrollWorkbookTabs Sheets:=-1
    Sheets("Saisie").Select
End Sub

Du coup je pense que la 1ère macro se stoppe belle est bien, mais la 2e s'active du coup.

EDIT : Ok j'ai tout bêtement copié la 2e après la 1ère et ça marche. On sent la fin de semaine...
Merci en tout cas et bon week-end !
 
Dernière modification par un modérateur:

Discussions similaires

Réponses
7
Affichages
327

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa