Se connecter avec
S'enregistrer | Connectez-vous

fermeture de l'application Excel sans demande de sauvegarde

Dernière réponse : dans Programmation

Bonjour,

J'ai une ptite qustion que est l'ooption ou la chose a faire lorsque j'ouvre mon classeur comme suivant

  1. Set Classeur = xls.Workbooks.Open("C:\Temp\e_analyse_croisée.xls")


je fais des manipulation (mise en page etc...)

et des ke je ferme (a la main ma fenetre excel)
il me pause la kestion chiante

"voulez vous enregister les modification apportés a e_analyse_croisée.xls"
avec le oui non et annuler j'aimerais ne pas avoir cette question lorsque je ferme a la main ma fenetre
Est-ce possible??

Je remercie d'avance ceux qui apporteront leur aide
Lassé par la pub ? Créez un compte
Expert Programmation

RTFM à la page Workbook.Saved.

Exemple :
  1. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  2. If Not Me.Saved Then
  3. MsgBox "Cliquez sur [OK] pour ne pas voir le message d'enregistrement."
  4. Me.Saved = True
  5. End If
  6. End Sub


EDIT: Grilled !!! J'en profite pour alerter sur ta méthode. Si tu as plusieurs classeurs ouverts dans la même session d'Excel, il faudra penser à remettre les alertes à VRAI si tu ne veux pas que ce comportement soit général.
Expert Programmation

Oui, le code proposé est pour Excel. Et tu as suffisament posté ici pour que je prenne la peine de considérer ton cas. Désolé.

Tentative de rattrapage aux branches basses : :whistle: 
Bien sûr quand tu proposes application.DisplayAlerts, tu considères l'appliaction excel, c'est à dire dans ton code à toi (sous MSAccess) :
xls.DisplayAlerts = False


Tu peux aussi regarder du côté de la fonction Workbook.Open, surtout du troisième paramètre qui est bien nommé ReadOnly ;) 

Bonjour j'ai une nouvelle appli que je dois reprendre

donc la je travaile que sous environnement Excel

j'ai une demande de confirmation d'enregistrement car le fichier existe déja j'aimerais éradiquer ce message

donc j'ai tapé ca
  1. ActiveWorkbook.Save
  2. ActiveWorkbook.Saved = True
  3. ActiveWindow.Close

je sais que c'est pas beau mais j'ai pa envie dem e prednre la tete car je reprends le code de quelqu'un
Expert Programmation

Et c'est quoi la question ?

Attention, Workbook.Saved = True fait croire que le fichier a été sauvegardé, donc il n'y a pas de messages. Mais le fichier n'est pas sauvegardé.

Bah en fait il me met un message que "le fichier existe déja est ce que je veux le remplacer?"
Ma réponse est oui a chaque fois
d'ou mon
  1. ActiveWorkbook.Save
  2. ActiveWorkbook.Saved = True


et apres je ferme d'ou mon activeworkbook.close.
ca m'énerve d'appyer sur oki 100 fois d'ou ma question donc j'aimerais virer cette question.
Expert Programmation

Rhooooooooooooo !!!!!!!!
Alors là, je mets illico ton message en favori.

Exercice : faire la liste de tous les messages de zeb où celui-ci peste contre l'utilisation des ActiveTruc, SelectedMachin, etc...... :sarcastic: 

Tu es dans quelle procédures/fonction ?
Si c'est l'une du classeur, tu peux utiliser ThisWorkbook.
Si tu as définis un objet Workbook, (Set wb = ... ), utilise wb.Save/Close.

je suis dans un classeur Excel

Mais j'ai fais kom cela

  1. Application.DisplayAlerts = False
  2. Windows("toto.xls").Activate
  3. ActiveWorkbook.Save
  4. ActiveWorkbook.Close
  5. Application.DisplayAlerts = True

car ThisWorkbook c'est pas la bonne
Enfin merci
Je sais que c'est crade meme moi je l'avoue mais j'ai pas le courage de reprendre le code (et le temps aussi)
Expert Programmation

Grrrrrrr :fou: 
Et tu oses le poster. Après i' vont tous faire comme toi. :cry: 

  1. Dim wb As Workbook
  2. Set wb = Workbooks("toto.xls")
  3.  
  4. Application.DisplayAlerts = False
  5. wb.Save
  6. wb.Close
  7. Application.DisplayAlerts = True
Ou encore pour les encore plus gros fainéants ( ;)  )
  1. Application.DisplayAlerts = False
  2. With Workbooks("toto.xls")
  3. Save
  4. Close
  5. End With
  6. Application.DisplayAlerts = True


Je rappelle que entre les lignes 2 et 3 ou 3 et 4 de ton code, il peut se passer des choses, genre la fenêtre active change. C'est peu probable, mais pas impossible. :o 
Expert Programmation

Combien factures-tu les modifs ? ... Ben ce n'est pas assez cher payé. :o 

En plus, tu as écris 5 lignes pour 140 caractères, moi je t'en propose 6 pour 114. Comme je suis sûr que tu n'es ni payé à la ligne, ni au caractère, autant bien faire les choses. :D 

Je n'ai logikement pas le droit de toucher au programme car c celui de mon supérieur, je dois me basé sur son programme pour en créer un autre car celui ke j'ai modifer définitif plu le droit de toucher mais kand je créer le miens t'inkiete pas il sera plus propre
Lassé par la pub ? Créez un compte