Bouton annuler d'une boite de dialogue

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour, le forum
J’utilise le code ci-dessous trouvé sur le net et je l’ai adapté à mon projet. La macro fonctionne bien
Sub export()
Dim wb As Workbook, nm As Name
Dim NomNWs As String
Dim NomNWb As String
Dim Repertoire As String
Dim Ws As Worksheet
Dim madate

On Error GoTo errorHandler
Application.ScreenUpdating = False

Feuil2.Visible = xlSheetVisible
If Feuil1.Visible = True Then Feuil1.Visible = xlSheetVeryHidden
If Feuil5.Visible = True Then Feuil5.Visible = xlSheetVeryHidden
If Feuil6.Visible = True Then Feuil6.Visible = xlSheetVeryHidden
Feuil2.Activate

ActiveWindow.DisplayWorkbookTabs = True


MsgBox ("Indiquer le repertoire ou sera enregistré le fichier")
Repertoire = ChoixDossier 'demande a l'utilisateur de saisir le repertoire ou se trouve le fichier
Application.DisplayAlerts = False

madate = Format(Now, "dddd dd mmmm yyyy")
NomNWs = "Tb_Infos"
NomNWb = "Sauvegarde-Base-GRIE"

With ActiveSheet
.Unprotect Password:="Recap"
.Copy
.Protect Password:="Recap"
End With

With ActiveWorkbook
With Sheets("Base")
.Shapes.Range(Array("curseur", "Rectangle 2")).Delete '"Rectangle 3", "Rectangle 4"

.Range("A3").Select
ActiveWindow.FreezePanes = False
.Name = NomNWs 'ou ceci --> ThisWorkbook.Sheets("Base").Range("P1")
End With

Set wb = ActiveWorkbook
'Suppression des noms exportés dans le nouveau classeur
For Each nm In wb.Names
nm.Delete
Next nm

.SaveAs Repertoire & "\" & NomNWb & "-" & version & " " & madate & ".xlsx"
.Close
End With

Feuil1.Visible = xlSheetVisible 'laisser toujours en premier !
Feuil2.Visible = xlSheetVeryHidden
Feuil3.Visible = xlSheetVeryHidden
Feuil4.Visible = xlSheetVeryHidden
Feuil5.Visible = xlSheetVeryHidden
Feuil6.Visible = xlSheetVeryHidden
Feuil1.Activate
Feuil1.Range("H17").Select



Application.DisplayAlerts = True


Exit Sub
errorHandler:
Application.ScreenUpdating = True
End Sub


Cela m'affiche une boite de dialogue pour sélectionner un dossier ou sera la feuille exportée. J'aimerai pouvoir gérer le bouton « annuler » de cette boite de dialogue, pour qu'il annule l'action.
Car la macro s’exécute comme si rien n’est fait.
Merci d'avance.
A voir également:

4 réponses

Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Si j'ai bien compris vous voulez arrêter le code si aucun choix de répertoire...!
Donc, ajouter la ligne de code en jaune.

1
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
En essayant votre code , à aucun moment une boîte de dialogue s'ouvre....!
Pas possible de donner une réponse dans se cas...!
0
Utilisateur anonyme
 
Bonjour Le pingou

tu as raison j'ai oublié la fonction choix de dossier
La voici:
Function ChoixDossier()
If val(Application.version) >= 10 Then
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = ActiveWorkbook.Path & "\"
.Show
If .SelectedItems.Count = 1 Then
ChoixDossier = .SelectedItems(1)
Else
ChoixDossier = ""
End If
End With
Else
ChoixDossier = InputBox("Répertoire?")
End If
End Function


Merci
0
Utilisateur anonyme
 
Merci bien le Pingou

Je fais et je comprends.
0