Bonjour à tous,
J'ai actuellement une 1ère macro dans le module 1 qui me permet d'envoyer un mail et une 2ème macro dans le module 2 qui me permet d'enregistrer mon classeur avec un nom prédéfini. Bien sûr, les 2 macro sont assez longues.
Je fais appel à la 2ième macro avec le code 'Call module2.macro2 depuis le module 1.
Jusque là, ces macros fonctionnent. Mon problême est le suivant : lorsque la fenêtre "enregistre sous" apparaît, je peux toujours appuyer le bouton "annuler". Dans ce cas, le fichier n'est pas enregistrer avec le nom prédéfinie mais la macro qui me permet d'envoyer un mail s'enclenche. Je veux interdire cela et stopper l'envoi du mail. Et la, je bloque....
J'ai bien un début de code qui prend en compte l'action appuyer sur le bouton "annuler", puis exit sub mais uniquement de la macro d'enregistrement se trouvant dans le 2ième module.
Avez vous une solution pour stopper la 1ère macro dans le 1er module ?
Merci d'avance pour l'aide.
Ci-dessous un extrait de la macro d'enregistrement :
Dim objSaveBox As FileDialog
'Définit la fenêtre "Enregistrer sous"
Set objSaveBox = Application.FileDialog(msoFileDialogSaveAs)
If Application.Version < "12.0" Then
With objSaveBox
'Définit un nom par défaut dans le champ "Nom de fichier".
.InitialFileName = enregistre
'Définit le type de fichier par défaut:
'(la valeur 4 Permet de spécifier les classeurs "Excel 97-2003" lorsque vous êtes dans Excel 2007)
.FilterIndex = 4
'Affiche la boîte de dialogue
'.Show
Select Case .Show
Case -1
'procédure si click sur Sauvegarde
Case 0
'procédure si click sur Annuler
MsgBox "action annulée"
Exit Sub
End Select
'Enregistre
.Execute
End With
J'ai actuellement une 1ère macro dans le module 1 qui me permet d'envoyer un mail et une 2ème macro dans le module 2 qui me permet d'enregistrer mon classeur avec un nom prédéfini. Bien sûr, les 2 macro sont assez longues.
Je fais appel à la 2ième macro avec le code 'Call module2.macro2 depuis le module 1.
Jusque là, ces macros fonctionnent. Mon problême est le suivant : lorsque la fenêtre "enregistre sous" apparaît, je peux toujours appuyer le bouton "annuler". Dans ce cas, le fichier n'est pas enregistrer avec le nom prédéfinie mais la macro qui me permet d'envoyer un mail s'enclenche. Je veux interdire cela et stopper l'envoi du mail. Et la, je bloque....
J'ai bien un début de code qui prend en compte l'action appuyer sur le bouton "annuler", puis exit sub mais uniquement de la macro d'enregistrement se trouvant dans le 2ième module.
Avez vous une solution pour stopper la 1ère macro dans le 1er module ?
Merci d'avance pour l'aide.
Ci-dessous un extrait de la macro d'enregistrement :
Dim objSaveBox As FileDialog
'Définit la fenêtre "Enregistrer sous"
Set objSaveBox = Application.FileDialog(msoFileDialogSaveAs)
If Application.Version < "12.0" Then
With objSaveBox
'Définit un nom par défaut dans le champ "Nom de fichier".
.InitialFileName = enregistre
'Définit le type de fichier par défaut:
'(la valeur 4 Permet de spécifier les classeurs "Excel 97-2003" lorsque vous êtes dans Excel 2007)
.FilterIndex = 4
'Affiche la boîte de dialogue
'.Show
Select Case .Show
Case -1
'procédure si click sur Sauvegarde
Case 0
'procédure si click sur Annuler
MsgBox "action annulée"
Exit Sub
End Select
'Enregistre
.Execute
End With