Bouton annuler d'une boite de dialogue
Résolu
Utilisateur anonyme
-
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
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.
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:
- Bouton annuler d'une boite de dialogue
- Boite gmail saturée - Guide
- Dialogue boost - Accueil - Guide streaming
- Boite gmail bloquée - Guide
- Se connecter à ma boite hotmail - Guide
- Boite a couleur - Télécharger - Divers Photo & Graphisme
4 réponses
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.
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.
Bonjour,
En essayant votre code , à aucun moment une boîte de dialogue s'ouvre....!
Pas possible de donner une réponse dans se cas...!
En essayant votre code , à aucun moment une boîte de dialogue s'ouvre....!
Pas possible de donner une réponse dans se cas...!
Bonjour Le pingou
tu as raison j'ai oublié la fonction choix de dossier
La voici:
Merci
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