Probleme avec la fonction Before Close

nicomaiden

XLDnaute Nouveau
Bonjour à tous,
je sollicite votre aide... Ne connaissant pas le vba, j'ai pris par ci par là des bouts de code que j'ai tenté d'adapter à ma sauce et bien évidemment ça ne fonctionne pas :confused:

Donc si une âme charitable pouvait venir à mon secours...
Alors le code fonctionne quand je lance la macro mais pas quand excel se ferme..... ce qui est ce que je recherche absolument !!! :)

voici le code en question :


Sub save()
Dim Chemin As String, Fichier As String
Chemin = "xxxxxxxxxxxxxx"
Fichier = "xxxxxxxxxxxx" & Format(Date, "dd-mm-yyyy") & " " & Format(Time, "hhmm") & ".xls"
ThisWorkbook.SaveAs Chemin & Fichier
End Sub


----

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call save
End Sub

-----


Merci de votre aide !!
 

jp14

XLDnaute Barbatruc
Re : Probleme avec la fonction Before Close

Bonjour

Si on fait la sauvegarde dans "Save" il faut rajouter "Saved = True".
Il faudrait modifier le nom de la procédure (save1 par exemple) car Save risque d'être un mot réservé.

JP
 

nicomaiden

XLDnaute Nouveau
Re : Probleme avec la fonction Before Close

Merci de ta réponse, j'ai fait les modifications en fonction mais
à la fermeture de excel, il ne se passe rien....


Sub Save1()


Dim Chemin As String, Fichier As String
Chemin = "xxxxxx"
'Ajoute la date du jour et l'heure dans le nom du fichier
Fichier = "xxxxxxxx" & Format(Date, "dd-mm-yyyy") & " " & Format(Time, "hhmm") & ".xls"
ThisWorkbook.SaveAs Chemin & Fichier

Saved = "True"

End Sub

------

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Save1

End Sub




peut etre qu'avec le code tu comprendras mon erreur......

encore merci de ta réponse
 

Hulk

XLDnaute Barbatruc
Re : Probleme avec la fonction Before Close

Hello Nicomaiden, JP,

J'ai essayé comme ceci (je mets pour bien voir l'exemple)
Code:
Sub Save1()

    Dim Chemin As String, Fichier As String

    Chemin = "C:\Users\Hulk\Desktop\"
    Fichier = "Classeur101 - " & Format(Date, "dd-mm-yyyy") & " - " & Format(Time, "hh mm") & ".xls"
    
    ThisWorkbook.SaveAs Chemin & Fichier

End Sub
Et ça marche, mais il ne faut pas oublier le back-slash "\" (touches Alt Gr + < du clavier) à la fin du chemin ou au début du nom !
 

francedemo

XLDnaute Occasionnel
Re : Probleme avec la fonction Before Close

bonjour,
juste une question : pourquoi ne mets tu pas ton code directement dans before_close plutôt qu'un appel à une autre macro?
je pense que quand tu appelles le before_close, ta macro n'est plus disponible et donc non executée alors que si ton code est directement disponible, ça devrait fonctionner
enfin perso, c'est ce que j'essayerai
à+
 

mutzik

XLDnaute Barbatruc
Re : Probleme avec la fonction Before Close

bonjour,

non le code est toujours dispo dans la procédure before_close
par contre remplacer
Saved = "True"
par Saved = True

si tu le mets entre "", c'est une valeur string (texte)
sinon c'est une valeur booléenne qui indique à excel que le classeur est enregistré donc ne te demandera pas si tu veux l'enregistrer
 

nicomaiden

XLDnaute Nouveau
Re : Probleme avec la fonction Before Close

Bonjour,
Merci beaucoup de votre aide, en fait le probleme venait du fait que le code n'etait pas dans "thisworkbook" mais dans une autre feuille excel.

Une fois remplacé dans "thisworkbook" ça a fonctionné !!

Merci pour votre aide :)
 

Discussions similaires

Statistiques des forums

Discussions
312 673
Messages
2 090 783
Membres
104 664
dernier inscrit
jth