Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro pour fermer le fichier, puis le réouvrir

  • Initiateur de la discussion Initiateur de la discussion aurelien.francois
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

aurelien.francois

Guest
Bonjour, j'ai créé un fichier excel, puis je l'ai enregistrer en .xlt (pour éviter qu'il soit écrasé). Disons qu'il se nomme Compte.xlt
Quand je le lance, cela ouvre donc mon fichier en tant que Compte1.xls
Ensuite j'ai créé une macro qui fait que lorsque l'on clique sur un bouton, cela écrase le fichier .xlt pour le remplacer définitivement.
Le souci, c'est qu'il faudrait que ce fichier se ferme, puis se réouvre (sinon la personne travaillera directement sur le .xlt)
Cela est-il possible ?
 
Re : Macro pour fermer le fichier, puis le réouvrir

Bonjour aurelien.francois,

cela écrase le fichier .xlt pour le remplacer définitivement.
Le souci, c'est qu'il faudrait que ce fichier se ferme, puis se réouvre (sinon la personne travaillera directement sur le .xlt)

c'est parce que tu fais un SaveAs
as-tu essayé avec un SaveCopyAs ?
 
Re : Macro pour fermer le fichier, puis le réouvrir

Alors en fait je pensais que ça marchait, mais ça ne marche pas...
Mon code est le suivant :
Code:
Private Sub cboui_Click()
Application.DisplayAlerts = False
chemin = ActiveWorkbook.Path
fichier = "Compte d'escale automatisé.xlt"
ActiveWorkbook.SaveCopyAs (chemin & "/" & fichier)
Application.DisplayAlerts = True
Unload Me
End Sub

Lorsque la macro se lance, il est écrit en bas d'excel "sauvegarde de fichier temporaire", le problème peut venir de là...
Ou alors cela vient du fait que c'est déjà un .xlt qu'on ouvre, et donc que le .xls qu'il lance n'est enregistré nul part.

Quelqu'un pour m'aider s'il vous plaît ?
 
Re : Macro pour fermer le fichier, puis le réouvrir

Oui en fait j'ai trouvé où le fichier était enregistré : dans C:\
Ce qui veut dire qu'il me faut créer une macro qui fait que lorsque j'ouvre mon .xlt, cela ouvre le .xls dans le même dossier...
Existe-t-il une formule sous VBA ?
 
Re : Macro pour fermer le fichier, puis le réouvrir

Bonjour aurelien.francois,

euh.. une remarque : tu mets un "/" à la place d'un "\", ça pose peut-être problème
si c'est pas ça alors il faut faire comme tu avais prévu :

ActiveWorkbook.SaveAs (chemin & "\" & fichier)
ActiveWorkbook.Close False
Workbooks.Add Template:="C:\" & fichier
 
Re : Macro pour fermer le fichier, puis le réouvrir

Oui le sens du slash \ c'est moi qui l'ai modifié car ça ne marchait pas avec / (mais bon ça n'a rien changé)
La formule que tu me donnes c'est à mettre à la place de mon ancienne, ou alors en macro à l'ouverture du fichier ?
 
Re : Macro pour fermer le fichier, puis le réouvrir

J'ai utilisé le code suivant :

Code:
Private Sub cboui_Click()
Application.DisplayAlerts = False
chemin = ActiveWorkbook.Path
fichier = "Compte d'escale automatisé.xlt"
fichier1 = "Compte d'escale automatisé1.xls"
ActiveWorkbook.SaveAs (chemin & "\" & fichier1)
ActiveWorkbook.Close False
Workbooks.Add Template:=(chemin & "\" & fichier1)
Application.DisplayAlerts = True
Unload Me

End Sub
Le souci c'est qu'il le chemin (activeworkbook.path) comme étant C:\ donc il m'enregistre Compte d'escale automatisé1.xls et Compte d'escale automatisé.xlt dans C:\

Le problème me semblait simple mais finalement il est plutôt costaud !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
26
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…