Bonjour le Forum, Carpe, Celedan, Dan
Quand j'ai fait une visite la semaine dernière, j'avais remarqué cette question mais je devais déjà repartir. Aujourd'hui je repasse par ici et je vois que Carpe a de la suite dans les idées, ce qui est très bien
(et même indispensable) pour progresser en programmation.
Cependant au regard de la question initiale et afin d'éviter à des futures lecteurs/lectrices de s'égarer sur les voies sombres et délicates des Modules de Classe pour faire quelque chose de très simple, à savoir :
Une Alerte de Fermeture (ce qui, ceci dit en passant, ne doit plus être ce que Carpe cherche à faire au vue de "ReadOnly ") ? voici simplement ce qu'il faut faire :
Dans : Private Module de ThisWorkBook (du classeur en question)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Message As Byte
Message = MsgBox("Do you really want to close the workbook?", vbYesNo)
If Message = vbNo Then Cancel = True
End Sub
Une variante si l'on veut que le User ne sauve pas les changement en répondant Oui à l'alerte d'Excel :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Message As Byte
Message = MsgBox("Do you really want to close the workbook without saving any change ?", vbYesNo)
If Message = vbNo Then Cancel = True Else: ThisWorkbook.Saved = True
End Sub
Et la variante si l'on veut, au contraire, que le User sauve le classeur :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Message As Byte
Message = MsgBox("Do you really want to close the workbook without saving any change ?", vbYesNo)
If Message = vbNo Then Cancel = True Else: ThisWorkbook.Save
End Sub
Enfin ce genre d'alerte à la fermeture ne nécessite donc pas de Module de Classe.
Pour Dan et la proposition "Auto_close ", il y a plus d'un an nous en avions discuté ici même avec Ti, et nous avions été d'accord pour confirmer à tout le Forum de
Ne Plus Utiliser ces Macros "Auto_Close" ou "Aut
pen" qui remontent au premiers Modules VBA d'Excel 5 et qui ne seront plus gérées tôt ou tard par MS dans les versions futures
(recommandation Microsoft).
Et puis, aujourd'hui, les macros évènementielles offrent bien plus de possibliltés et sont plus simples à utiliser de toute manière.
Enfin voilà un post qui, comme à mon habitude est long (lol) et en plus, qui ne sert plus à grand chose pour Carpe, vu qu'il semble chercher plus compliqué, mais à toutes fins utiles pour les consultations futures sur XLD.
Sur ce, j'espère que vous avez tous et toutes passé un Bon Noël et je vous souhaite de terminer cette année 2003 en beauté.
Bien à Vous
@+Thierry