Terminer et sortir de la macro
L
Bonjour à toutes et à tous.
J'ai une macro avec un msgbox vbYesNo + vbCritical.
Quand je clique sur 'no", une partie de la macro continue. Je voudrais que la macro au complet s'arrête.
C'Est probalement pas grand chose
MErci de votre support et bonne journée :)
Sub import_feuille()
Dim wB1 As Workbook, wB2 As Workbook
Dim fichier As String
'****************************************
' MEssage avertissement'
'*********************************************
If MsgBox("Cette fonction va effacer la feuille Billing summary existante, Voulez-vous continer?", vbYesNo + vbCritical) = vbYes Then
Application.DisplayAlerts = False
On Error Resume Next
Application.DisplayAlerts = False
Sheets("Billing_summary").Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set wB1 = ThisWorkbook
' Ouvrir l'explorateur de fichiers pour sélectionner le fichier Excel source
fichier = Application.GetOpenFilename("Fichiers Excel (*.xlsx*), *.xls*")
If fichier = "Faux" Then Exit Sub ' L'utilisateur a annulé
Set wB2 = Workbooks.Open(fichier)
wB2.Sheets("Billing Summary").Copy After:=wB1.Sheets(wB1.Sheets.Count)
wB2.Close SaveChanges:=False
Sheets("Billing Summary").Name = "Billing_Summary"
Application.ScreenUpdating = True
End If
' ******************** MAcro pour ajouter la clef ID dans le fichier AJout
Dim Billing_Summary As Worksheet
Set Billing_Summary = ActiveSheet
Dim RNG As Range
Range("C1").EntireColumn.Insert ' Ajout d'une colonne pour créer la clef
Range("C2").Value = "CLEF" ' Renommer la colonne CLEF
'******************************************
' Création de la valeur de la clef
'***********************************************************
ActiveSheet.[C3:C500].FormulaR1C1 = "=IF(ISBLANK(RC2),"""",RC1&RC2&RC4&RC5)"
'******************
'Mise en ordre des onglets XSLX
'***************************
Dim x As Long
Dim myOrder As Variant
Application.DisplayAlerts = False
Application.ScreenUpdating = False
myOrder = Array("Ouverture", "WBS", "Billing_Summary")
On Error Resume Next
For x = UBound(myOrder) To LBound(myOrder) Step -1
Worksheets(myOrder(x)).Move Before:=Worksheets(1)
Next x
On Error GoTo 0
Application.DisplayAlerts = True
Application.ScreenUpdating = True
'effacement colonnes Superlus
Sheets("Billing_Summary").Range("F:W").EntireColumn.Delete
Sheets("Billing_Summary").Range("H:U").EntireColumn.Delete
Sheets("Billing_Summary").Range("I:U").EntireColumn.Delete
Sheets("Billing_Summary").Range("J:N").EntireColumn.Delete
Sheets("Billing_Summary").Range("K:AC").EntireColumn.Delete
'cOPIE DE LA FEUILLE DÉJÀ MISE EN FORME
Sheets("MAJ").Select
Sheets("MAJ").Delete
Sheets("Feuil1").Select
Sheets("Feuil1").Copy Before:=Sheets(1)
Sheets("Feuil1 (2)").Select
Sheets("Feuil1 (2)").Name = "MAJ"
End Sub
Bonjour La Baie
If MsgBox("Cette fonction va effacer la feuille Billing summary existante, Voulez-vous continer?", vbYesNo + vbCritical) = vbYes Then
ensuite cela se termine par un "end if"
Donc si tu réponds non, cela continue derrière ton End If
Il faut avant ton "End If "
mettre Else Exit Sub
L
Merci beaucoup Patty5046.
J'en prends bonne note :)