[vba] sauvegarde excel auto avant fermeture [Résolu/Fermé]

Messages postés
25
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
24 octobre 2008
- - Dernière réponse :  Kelkun - 15 févr. 2017 à 20:06
Bonjour à tous,

Pourriez-vous m'indiquer le code à utiliser pour sauvegarder les changements dans excel avant la fermeture d'un fichier?

C'est dans le but d'éviter le message "Do you want to save the changes you made to '....xls'?"

J'ai lu cette conversation mais je n'y ai pas trouvé ma réponse : "petit bout de code pour fermeture excel svp"

Merci pour votre aide.
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
21510
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
8 octobre 2012
3368
12
Merci
Salut,
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.AlertBeforeOverwriting = False
    ActiveWorkbook.Save
End Sub
lami20j

Dire « Merci » 12

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62627 internautes nous ont dit merci ce mois-ci

Messages postés
287
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
10 janvier 2008
210
3
Merci
bonsoir à tous,

Ne connaissant pas cette propriété AlertBeforeOverwriting, je suis allé voir l'aide en ligne. Et là, je trouve :
Cette propriété a la valeur True si Microsoft Excel affiche un message avant de remplacer des cellules contenant des données pendant une modification effectuée à l'aide de la fonction Glisser-déplacer. Type de données Boolean en lecture-écriture.
Ca me laisse perplexe...
J'aurais plutôt dit
Application.DisplayAlerts = False

lamij, qu'en penses-tu ?
lami20j
Messages postés
21510
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
8 octobre 2012
3368 -
Salut Kobaya,

J'aurais plutôt dit

Application.DisplayAlerts = False


Oui, tu as raison :-)
En fait c'est à ça que j'ai pensé, mais comme je suis paresseux et par ordre alphabetique j'ai d'abord Alert...

lami20j

P.S. Ne connaissant pas cette propriété AlertBeforeOverwriting,

Au moins tu as appris quelque chose :-)
Kobaya
Messages postés
287
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
10 janvier 2008
210 > lami20j
Messages postés
21510
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
8 octobre 2012
-
et oui, j'ai appris quelquechose :-)

j'espère que Aries No Shion a suivi le fil lui aussi ;-)

Messages postés
25
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
24 octobre 2008
1
0
Merci
Re,

Impeccable!

Merci beaucoup
0
Merci
Bonjour,
Comment faire pour sauvegarder un onglet précis d'un classeur et uniquement en valeur ?
0
Merci
pr copier en valeur, j ai copié toutes les valeurs sur ma feuille et les ai recollé par dessus en valeur, ca donne ça:

'fonction qui permet de garder que valeurs ds onglet actif:

Range("A1:F53").Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

à adapter celon les cas
0
Merci
Bonjour j'aimerais que mes fichiers s'enregistrent automatiquement sans que j'ai à cliquer à chaque fois pour valider l'enregistrement :

ChDir _
"X:.........."


' ActiveWorkbook.SaveAs Filename:= _
' "X:..................................................." & cell.Value & ".xls" _
' , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
' ReadOnlyRecommended:=False, CreateBackup:=False


ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"X:........................................." & cell.Value & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False



ActiveWindow.Close

En italique les codes précédents et en gras mon code actuel!
Bonjour. Il n'y a t'il pas un moyen d'enregistrer automatiquement les fichiers à la seconde?
salut
petit truc pour enregistrer auto toutes les 15min

Dans thisworkbook

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.OnTime Now + TimeValue("00:15:00"), "EnregistrerFichier"
End Sub


Dans un module

Sub EnregistrerFichier()
ActiveWorkbook.Save
End Sub