Comment enregistrer un classeur dans 2 dossiers avec le nom du classeur ouvert automa

  • Initiateur de la discussion Initiateur de la discussion Paritec
  • 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 !

Paritec

XLDnaute Barbatruc
Bonjour Le Forum
J'aimerais enregistrer un classeur à la fermeture de mon classeur ouvert, mais en nommant le classeur automatiquement du nom du classeur ouvert.
pour le ActiveWorkbook.Save pas de problème mais comment faire en sorte de nommer la seconde copie automatiquement du nom du classeur ouvert?
merci d'avance de vos réponses
a+
Papou

Sub Copier()
ActiveWorkbook.SaveAs ("D:\disque C\Nom du Claseur Ouvert") & Format(Date, "dd-mm-yyyy")
 
Re : Comment enregistrer un classeur dans 2 dossiers avec le nom du classeur ouvert a

Re Pierrot le Forum,
Oui tu as certainement raison, seulement le but et d'être sur de ne pas oublier de sauvegarder le fichier modifié.
C'est un fichier de compta donc pas trop le droit à l'erreur.
Tu me dis pas sur d'avoir tout compris?
c'est pas compliqué, chaque fois que le fichier concerné et ouvert c'est pour être modifié, donc a la fermeture je ne veux pas que malheureusement le fichier soit fermé sans avoir été enregistré.
Après par sécurité je veux faire une copie dénué de macro, pour ne pas en cas d'ouverture de ces copies, aller écraser de nouvelles données, car si le fichier est copié avec la macro, il va me générer une copie même si c'est un fichier de sauvegarde et cela je ne le veux pas.
Voilà donc pourquoi je souhaite dénué le fichier de macros.
En fait les macros ne sont plus là donc mon code marche, mais il doit rester quelques choses qui provoque la demande d'activation des macros dans les fichiers copiés, mais Quoi?
à+
Papou
 
Re : Comment enregistrer un classeur dans 2 dossiers avec le nom du classeur ouvert a

Re Pierrot le Forum,
Voilà j'ai fait par rapport a ce que tu m'as envoyé et le résultat est le même exactement pareil essayes le fichier et ouvres après une copie tu verras.
a+
Papou
ma macro maintenant:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
ActiveWorkbook.Save
With ActiveWorkbook.VBProject.VBComponents("Thisworkbook").CodeModule
.DeleteLines 1, .CountOfLines
End With
With ActiveWorkbook
.SaveAs ("D:\Comptabilité Manuelle\" & .Name)
.SaveAs ("D:\Comptabilité Manuelle\" & Left(.Name, Len(.Name) - 4) & ", le " & Format(Date, "dd-mm-yyyy") & ".xls")
End With
Application.Quit
End Sub
 
Re : Comment enregistrer un classeur dans 2 dossiers avec le nom du classeur ouvert a

Re

peux pas utiliser ton code, j'ai horreur "application quit", plutôt que d'utiliser la méthode "saveas" utilises "savecopyas", cela te permet d'avoir 2 fichiers, et donc de cibler précisement le classeur sur lequel tu veux supprimer le code.

@+
 
Dernière édition:
Re : Comment enregistrer un classeur dans 2 dossiers avec le nom du classeur ouvert a

Re Pierrot le forum,
Si tu veux pas application.quit tu le retires et après tu essayes, et tu pourras constater toi même le phénomène.
Pour le fait de ne pas aimer application.quit pourquoi? cela risque quoi?
moi je suis prêt à tout faire et tout écouter si il y a une raison particulière.
Pour moi quand le fichier est enregistré et fermé que je quitte excel en manuel ou en automatique, a part le fait que je gagne du temps ou est la différence?
a+
Pascal

PS: pour le savecopyas je vais aussi essayer
 
Re : Comment enregistrer un classeur dans 2 dossiers avec le nom du classeur ouvert a

Re

"application quit" ferme Excel, et l'utilisateur ne veux pas forcement le fermer... D'autre part si autres classeurs ouverts, risque de pertes de données, surout avec un "Application.DisplayAlerts = False"...

Pour ton problème, le fait de mettre dans le module "thisworkbook" un code qui se supprimerait lui même risque de poser problème... C'est pourquoi, à mon avis l'utilisation de "savecopyas" est plus appropriéé. Par contre il faut ré ouvrir les classeurs concernés, afin ensuite de supprimer le code. Mais je continue à penser que la macro stocké dans un classeur à part t'éviterait sans doute bien des soucis.

@+
 
Re : Comment enregistrer un classeur dans 2 dossiers avec le nom du classeur ouvert a

Re Pierrot le Forum,
oui tu as certainement raison mais je ne vois pas comment faire, pas du tout alors !!
Pour la fermeture excel et le risque de perdre des données si d'autre classeur sont ouvert
tu as raison mais pourtant qu'est-ce que c'est pratique.
je vais rajouter

If Windows.Count > 1 Then
Application.DisplayAlerts = True
Else
Application.DisplayAlerts = False
ActiveWorkbook.Saved = False
Application.Quit
End If

Merci pour tout Pierrot et pour le savecopyas je vais essayé mais pour ta macro dans un autre classeur là je ne sais pas faire
a+
Papou
 
- 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

Discussions similaires

Réponses
10
Affichages
791
Retour