Bonjour
j'ai une macro qui crée des fichiers à partir d'un fichier modèle donc qui y met des données, les enregistre et les ferme. Les fichiers créés sont envoyés à des utilisateurs qui doivent compléter des données. A la fermeture de ces fichiers une macro à la fermeture vérifie que certaines données ont bien été remplies. Si des données manquent la macro alerte et demande à la personne si elle veut vraiment fermer le fichier sans avoir rempli ces données.
La macro est comme ceci :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets(1).Cells(11, 4) = "" Or Sheets(1).Cells(11, 5) = "" Then
If MsgBox("ATTENTION : Vous n'avez pas renseigné la devise, êtes-vous certain(e) de vouloir fermer ce classeur ?", 36, "Confirmation") = vbNo Then
Cancel = True
End If
End If
End Sub
Mon problème est que lorsque je crée les fichiers, à chaque fois que la macro ferme le fichier, j'ai le message "ATTENTION : Vous n'avez pas renseigné la devise.....". Je voudrais que ma macro de création n'exécute pas la Private Sub Workbook_BeforeClose(Cancel As Boolean) lors de la création et de la fermeture des fichiers (il y en a + de 200!).
Ma macro de création est du genre :
sub creation()
....
....
ActiveWorkbook.SaveAs Filename:="c:\local\" & code & " - Dossier " & ANNEE_N, FileFormat:=xlOpenXMLWorkbookMacroEnabled
ActiveWorkbook.Close 'fermeture du fichier N
....
....
end sub
C'est au moment de l'exécution de ActiveWorkbook.Close que le message apparait.
Je ne sais pas si j'ai été clair??
Je vous remercie.