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

Signaler
Messages postés
23
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
24 octobre 2008
-
 Kelkun -
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.

6 réponses

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 477
Salut,
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.AlertBeforeOverwriting = False
    ActiveWorkbook.Save
End Sub
lami20j
13
Merci

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

CCM 57002 internautes nous ont dit merci ce mois-ci

Messages postés
282
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
10 janvier 2008
212
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 ?
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 477
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 :-)
Messages postés
282
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
10 janvier 2008
212 >
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019

et oui, j'ai appris quelquechose :-)

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

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

Impeccable!

Merci beaucoup
Bonjour,
Comment faire pour sauvegarder un onglet précis d'un classeur et uniquement en valeur ?
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
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