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.
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.