Arrêter l'exécution d'une macro

Bonjour à tous,

J'ai une macro qui comporte 2 procédures; la première consiste à sélectionner un répertoire et la seconde à y exporter des feuilles Excel sous

format PDF avec une macro que j'ai nommé Export_Bulletin enregistré dans un module séparé. Ci-après ma macro qui fonctionne bien.

Private Sub Bouton_Generer_Click()
Dim i&
Tout = True
Cbx_Salariés = ""

' 1. Procédure de sélection du répertoire
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then
Dossier = .SelectedItems(1) & "\"
End If
End With

' 2. Procédure d'export des bulletins
With Cbx_Salariés
For i = 0 To .ListCount - 1
ThisWorkbook.Sheets("BULLETIN_" & Me.Cbx_Année).Range("A13") = .List(i)
Call Export_Bulletin
Next
End With

MsgBox "Export des bulletins de paie effectué avec succès!", vbInformation
Tout = False
End Sub

Mon seul soucis, se passe au niveau de la première procédure, au cas où, il m'arrivait d'annuler la sélection du répertoire. Dans mon cas ci, la procédure n°2 continue à s'exécuter quand même, et c'est bien embêtant.

J'ai besoin d'aide pour insérer un bout de code, qui me permettrait d'annuler l'exécuter de la seconde procédure au cas où la première n'est pas allé à bout.

Bien à tous!

bonsoir,

adapte ton code ainsi

With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then
   Dossier = .SelectedItems(1) & "\"
Else
   Exit Sub
End If
End With

Oh Nice, aussi simple! Merci bien!

J'aimerais te solliciter encore si ce n'est trop demander; l'exécution de la procédure 2 peut prendre plusieurs minutes, pour cause, il y a au moins

une bonne centaine de bulletins à exporter à chaque fois. Du coup, j'étais entrain d'imaginer au lancement de l'export, un label qui doit afficher du

texte de ce genre: Me.label1.caption="Exécution encours, veuillez patienter quelques instants!"

J'aimerais savoir où insérer cette macro. Merci pour votre sollicitude!

bonjour,

sans voir ton classeur, je dirais juste avant ta boucle "for i=" dans ta procédure 2.

Bonjour Bana, H2so4,

Dans le même esprit, tu peux faire un Userform avec une barre de progression, le résultat est sympa et en plus il y a plein d’exemples de ce type sur le fofo.

Il te suffit de compter le nombre de fichier au moment du chargement du dossier puis de faire une incrémentation à chaque fichier basculé.

Rechercher des sujets similaires à "arreter execution macro"