XL 2010 Changer le nom dans une boîte de dialogue

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

Cydor007

XLDnaute Occasionnel
Bonjour,

J'aimerais savoir comment on fait pour modifier le nom du fichier à travers une boîte de dialogue.
Je m'explique:

J'ai ajouté un bouton sur un formulaire qui permet à l'utilisateur de sauvegarder un classeur excel en sélectionnant l'emplacement, le nom du fichier et le type d'extension. Le nom du fichier est créé à travers le formulaire. C'est à dire que selon ce qui est écrit dans le formulaire le nom du fichier s'adapte.

Le problème est le suivant: Il se peut que l'utilisateur veule modifier le nom du fichier. Mais je n'arrive pas à le faire, car quand le fichier s'enregistre et pointe toujours vers la source Nom. J'aimerais pouvoir mettre une condition si le Nom est modifié par l'utilisateur.

Voici le code:

Sub Enregistrer_sous()
Dim sNom As Variant
Dim Nom As String
Dim Chemin As String
Dim MonDossier As String
Dim extension As String
extention = ".xlsm"
Chemin = "Q:\"
MonDossier = "Ingenierie\Departement Ingenierie\3_AI non signés"
Nom = "AI " & Sheets("Formulaire AI").Range("M1") & " (" & Sheets("Formulaire AI").Range("D13") & " " & "rév_" & " " & Sheets("Formulaire AI").Range("C13") & ")" & extension
ChDrive "Q:"
ChDir Chemin & MonDossier
sNom = Application.GetSaveAsFilename(InitialFileName:=Nom, _
fileFilter:="xlsm (*.xlsm), *.xlsm")
If sNom = False Then Exit Sub
Application.DisplayAlerts = True
ActiveWorkbook.SaveAs Nom, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

Est-ce que c'est possible d'éditer le nom du fichier au travers la boîte de dialogue et ensuite enregistrer le fichier avec le nouveau nom?

Merci

Cydor007
 
Bonjour Cydor, thebenoit59,

Essaie ceci:
VB:
Sub Enregistrer_sous()
Dim sNom As Variant
Dim Nom As String
Dim Chemin As String
Dim MonDossier As String
Dim extension As String
extention = ".xlsm"
Chemin = "P:\"
MonDossier = "Ingenierie\Departement Ingenierie\3_AI non signés"
Nom = "AI " & Sheets("Forme et Classe").Range("B1") & extension
sNom = ThisWorkbook.Name
sNom = Application.GetSaveAsFilename(sNom, "Fichiers Excel (*.xlsm), *.xlsm")
If sNom = False Then Exit Sub
Application.DisplayAlerts = True
'ActiveWorkbook.SaveAs Nom, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ActiveWorkbook.SaveAs sNom, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
 
Bonjour Bougla972,

J'ai adapté ton code à mes besoins et cela fonctionne très bien.

Voici le résultat:

Sub Enregistrer_sous()
Dim sNom As Variant
Dim Nom As String
Dim Chemin As String
Dim MonDossier As String
Dim extension As String
extention = ".xlsm"
Chemin = "Q:\"
MonDossier = "Ingenierie\Departement Ingenierie\3_AI non signés"
Nom = "AI " & Sheets("Formulaire AI").Range("M1") & " (" & Sheets("Formulaire AI").Range("D13") & " " & "rév_" & " " & Sheets("Formulaire AI").Range("C13") & ")" & extension
sNom = ThisWorkbook.Name
sNom = Application.GetSaveAsFilename(Nom, "Fichiers Excel (*.xlsm), *.xlsm")
If sNom = False Then Exit Sub
Application.DisplayAlerts = True
'ActiveWorkbook.SaveAs Nom, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ActiveWorkbook.SaveAs sNom, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

Cela fait exactement ce à quoi je m'attandais.

Merci pour tes lumières.

Cydor007
 
- 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
3
Affichages
537
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
794
Retour