Bonjour Petchy et les gens du Dimanche sur le Forum !
Ben tout dépend...
Normalement si tu lances une telle demande depuis un UserForm...il faudrait déjà fermer le UserForm qui lance cette instruction faut rester propre...
Ensuite ActiveWorkbook.Save, ne ferme pas le classeur, dans ce cas de figure on préfera "ThisWorkbook.Close true" (true on sauve, false on ne sauve pas donc GAFFE !)
Sub Control_Evenement () ' (click etc)
Unload me
ThisWorkbook.Close true
Application.Quit
End sub
Maintenant il faut qu'il n'y ait que ce WorkBook ouvert, car sinon avec Application.Quit tu auras encore le message pour les autres classeurs ouverts dans lesquels il y a eu changement....
Donc il faut savoir, on peut tous les fermer et sauver, ou tous les fermer sans les sauver...... à toi de savoir..... Sinon le message te préviendras anyway !
si tu ne veux aucun message
Application.DisplayAlert = False
Mais à tes risques et périls pour les autres classeurs... car on quitera Excel sans les Sauver... Donc vaut mieux gérer sa... Par exemple avec une boucle
For Each w In Workbooks
w.Close savechanges:=True
Next w
Application.Quit
et on a pas besoin de Bloquer appllication.DisplayAlert à False... Car tous les classeurs ouverts seront sauvés...
Voilà tu as tous les éléments pour ne pas te planter !
bon Dimanche
@+Thierry