Bonjour,

J'ai créé un .xla pour gérer une barre de menu. Dans ce fichier j'ai une page pour pouvoir enregistrer de l'information. A chaque fermeture de l'application je souhaite que le .xla soit réenregistré pour conserver d'éventuelles nouvelles données.

j'ai utilisé le code suivant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 
On Error Resume Next
Application.CommandBars("MaBarre").Enabled = False 'désafficher la barre si elle existe lors de la fermeture de l'application
 
ThisWorkbook.Save 'sauvegarde pour la feuille "Favoris" contenant les paramètres des Favoris
 
End Sub
Malheureusement j'ai vu qu'à l'utilisation, le fichier s'enregistre n'importe où... surtout que j'ai passé ça sur un réseau
Résultat : Plein de dossier se retrouvent avec mon .xla à l'intérieur...


J'ai pensé utiliser celà :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Application.DisplayAlerts = False
    ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.Name 'sauvegarde pour la feuille "Favoris" contenant les paramètres des Favoris
Application.DisplayAlerts = True
Mais si Save bug, je pense que SaveAs peut aussi planter et m'écraser un mauvais fichier.

Une solution pour sauvegarder automatiquement et au bon endroit ??

Merci !