Petit bout de code pour fermeture excel svp

Résolu
Bonjour , j'ai besoin d'un petit bout de code VBA pour fermer deux fenêtres EXCEL ouvertes sans les modifier (c'est à dire sans qu on me demande :"Voulez-vous enregistrer les modifications à SSS.xls ? ma réponse étant "non" à répondre deux fois(car il y a deux fenêtres ouvertes))
Je ferai un bouton dans la page et j'y affecterai cette macro .
Merci beaucoup

9 réponses

  • Votes
  • Date
  • Date décroissante
  1. Hello,

    Saved est un indicateur positionné à True si on n'a effectué aucune modif, ou si une sauvegarde a été effectuée. Dès qu'on modifie le classeur, Excel le bascule à False. C'est ce qui lui permet de savoir si, à la fermeture, il doit ou non poser la question : Voulez-vous enregistrer etc.
    Si les utilisateurs ont fait des modifs, Saved est déjà à False, et Excel pose la question.

    On peut, au contraire, mettre l'indicateur à True. Dans ce cas, Excel ne pose pas la question, et ne fait pas d'enregistrement, puisqu'on lui dit que le classeur n'a pas été modifié, ou a déjà été sauvegardé.
    ActiveWorkbook.Saved = True
    ActiveWorkbook.Close

    Sinon, on peut aussi écrire :
    Application.DisplayAlerts = False
    ActiveWorkbook.Close savechanges:=False
    Application.DisplayAlerts = True
    Le première solution est plus courte.
    1. Modérateur
      Quelquechose du genre:
      workbook.Close(SaveChanges=False)

      (Enfin, en Python en tous cas.)
      1. Application.Quit
        SaveChanges = False

        et ca marche pas ; excel me demande toujours si je veux sauvegarder
        merci
      2. salut,

        en fait c'est presque ça, mais dans l'autre sens :
        Application.SaveChanges = False
        Application.Quit 
        

    2. Non ca marche pas encore ...
      Je ne comprends pas , j'ai l'impression que application.savechanges n'existe pas
      merci
      a+
      1. Décidément excel est têtu il ne veux pas de :

        ActiveWorkbook.SaveChanges = False
        Application.Quit

        a+
        1. Oooooppppsssss! désolé.....

          j'm'ai trompé :
          ActiveWorkbook.SaveChanges = False
          ' pour fermer Excel
          Application.Quit
          ' ou pour fermer le fichier seulement
          ' ActiveWorkbook.Close
          
          1. le pire c'est qu on va regagner mercredi ...
            Ca ferme bien excel , mais j ai toujours cette satanée box : "voulez-vous enregistrer les modifications " et j'en veux plus car les gens avec qui je travaille sont foutu de répondre "oui" ....
            A+
            1. alors là, rien ne va plus : je suis hyper-super-méga-ultra fatigué :

              c'est :
              ActiveWorkbook.Saved = False
              


              :-(

              je vais me coucher de ce pas!
              1. salut tout le monde,

                je revenais pour quelques précisions après une bonne nuit de sommeil, et les idées un peu plus claires, mais Armojax est déjà passé par là alors...

                1. merci beaucoup
                  ca marche
              2. décidément, je suis mal réveillé :
                ActiveWorkbook.Saved = False
                


                mais c'est lundi, et samedi on a gagné alors je plaide les circonstances atténuantes...