macro qui ne marche pas

  • Initiateur de la discussion Initiateur de la discussion Bas
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Bas

Guest
Salut,
J' ai essayé de créer une macro qui ferme ma page sans l' enregistrer, mais elle ne fonctionne pas. Auriez vous une macro de ce type a me proposer?
MErci
 
Salut Bas, salut le forum,

place ce code dans l'élément ThisWorkbook de ton projet VBA

Private Sub Workbook_BeforeClose(cancel As Boolean)
ThisWorkbook.Close SaveChanges:=False
end sub

À plus,

Robert
 
Bonsoir Bas,

Voici une macro qui fermera ton fichier sans sauvegarde :

1. Ouvre VBA (ALT + F11)
2. CTRL + R pour ouvrir le VBA project
3. Dans VBA project, Double clique sur Thisworkbook
4. A droite place cette macro :

Private Sub Workbook_BeforeClose (Cancel as Boolean)
ThisWorkbook.Close Savechanges:=False
End Sub

5. Avant de fermer ton fichier, enregistre le pour conserver ta macro

Bon Travail

@+ Dan
 
msgbox: fermer fichier sans sauver

bonjour Bas, Robert, Dan, lecteurs et lectrices...

J'ai un souhait un peu différent: je voudrais un bouton OUI et NON dans le message ci-dessous

OUI= Fermer le classeur actif sans enregistrer
NON= pas d'action-fermer le MsgBox

' message de fin:
Rep = MsgBox("quitter sans enregistrer ", vbYes)

Pourriez-vous me guider dans cette mission dangeureuse ?

Cordialament

olivierd
 
Salut Olivierd, Dan, Bas, le forum,

Olivierd, si tu as :

rep = MsgBox("Quitter sans enregistrer ?", vbYesNo)

il te faudra rajouter dans le code qui lance la MsgBox, cette ligne :

If rep = 6 Then ThisWorkbook.Close Savechanges:=False

où 6 correspond à l'argument bouton vbYes et où il n'est pas nécessaire de décrire l'action pour vbNo (7) puisque le MsgBox se ferme automatiquement dès qu'une réponse (rep) est donnée.

À plus,

Robert
 
bonjour,
merci pour ta réponse... je ne suis pas sur d'avoir bien fait:

Sub macro()
rep = MsgBox("Quitter sans enregistrer ?")
If rep = 6 Then ThisWorkbook.Close Savechanges:=False
End Sub

la macro ne propose que OUI et ne ferme pas le casseur à l'activation du oui...

Comment modifier le code pour fermer le classeur à l'action du OUI et avoir un NON pour conserver la main sans action ?

merci pour tes infos

cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
195
Réponses
9
Affichages
409
  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
320
Réponses
8
Affichages
309
Retour