Save As avec Nom prédéfini : n'enregistre pas

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

Kaciel

XLDnaute Nouveau
Bonjour à tous,

Après plusieurs jours de recherche sur le net je finis par mettre mon orgueil de côté en m'avouant vaincu et demande de l'aide.
La situation est la suivante : je souhaite nommer un fichier avec une date tout en proposant un chemin par défaut.
Voici le code :

Code:
Dim dte As Date
Dim dte1 As String
dte = Now()

dte1 = Format(dte, "dd-mm-yy")

With Application.GetSaveAsFilename(["Fichier du "& dte1], _
        FileFilter:="Excel Files,*.xlsx,*.*,*.*")
     
       End With

Seulement voilà, j'ai bien une fenêtre "Enregistrer sous" qui s'ouvre mais :
- la proposition du nom de fichier ne prend pas en compte la date et suggère donc Fichier du .xlsx, sans y intégrer la date (j'aimerais avoir Fichier du 28-05-15.xlsx par exemple)
- le chemin par défaut proposé est sur le C:\Users\Username\Desktop alors que j'aimerais préparamétrer un autre lecteur
- et enfin, si je clique sur enregistrer la fenêtre se ferme et je reste sur mon fichier de macro .xlsm sans rien avoir généré comme fichier .xlsx

Merci d'avance pour votre aide

Kaciel
 
Re : Save As avec Nom prédéfini : n'enregistre pas

bonjour Kaciel
bienvenue
2 exemples à tester
Code:
Sub Classeur_SaveAs()
Dim fname
fname = Application.GetSaveAsFilename(InitialFileName:="Fichier du " & Format(Date, "dd-mm-yy"), FileFilter:="Excel Files (*.XLS), *.XLS", Title:="Save As")
If fname = False Then Exit Sub
ActiveWorkbook.SaveAs Filename:=fname
End Sub

Sub sauveclasseur()

'Dim dte As Date
'Dim dte1 As String
Dim chemin  As String, nomfichier As String
'dte = Now()
chemin = "C:\dossier\" ' ou "C:\dossier\sousdossier\"  ou "C:\dossier\sousdossier\Soussousdossier\"   'à adapter"
nomfichier = "Fichier du " & Format(Date, "dd-mm-yy") & ".xls"

ActiveWorkbook.SaveCopyAs chemin & nomfichier

End Sub
 
Re : Save As avec Nom prédéfini : n'enregistre pas

Merci Bebere c'est pas mal du tout...A un détail près :

Je crée un nouveau fichier dénommé Fichier du 28-05-15.xlsx qui arrive au bon endroit etc, parfait.
Seulement le fichier qui contient le code est toujours ouvert et j'aimerais donc le fermer, sans l'enregistrer pour ne pas toucher au code.
Est-ce qu'il y a un moyen pour obliger cela ?

J'essaie le code ci-dessous, mais il me demande malgré tout si je veux le sauvegarder :
Code:
Dim chemin  As String, nomfichier As String
'dte = Now()
chemin = "P:\DOSSIER\SOUSDOSSIER\"
nomfichier = "Fichier du " & Format(Date, "dd-mm-yy") & ".xlsx"

ActiveWorkbook.SaveCopyAs chemin & nomfichier
MsgBox "Votre fichier a été sauvegardé sous " & chemin
        
Windows("Extraction inventaire pour comité refus.xlsm").Activate
ActiveWindow.Close

Puis-je le forcer à fermer sans enregistrer ?

D'avance merci, j'ai la racine de mon problème de réglée merci !

Kaciel
 
Re : Save As avec Nom prédéfini : n'enregistre pas

bonjour Kaciel

exemple de chemin = "P:\DOSSIER\SOUSDOSSIER\"
si tu n'as qu'un dossier chemin = "P:\DOSSIER\" 'remplace dossier par le nom que tu veux
idem pour sousdossier
ferme sans sauver
ActiveWorkbook.Close false
ou
thisWorkbook.Close false

il n'a rien qui demande de sauver
il y a juste la ligne msgbox qui donne comme message que le fichier a été sauvé
tu l'as supprime
 
- 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

  • Question Question
Microsoft 365 Exit sub save As
Réponses
3
Affichages
729
Réponses
14
Affichages
2 K
Réponses
1
Affichages
17 K
Compte Supprimé 979
C
Réponses
5
Affichages
14 K
I
Réponses
1
Affichages
964
Popeye
P
Retour