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

Valider le nom d'un fichier avant de l'enregistrer

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 !

Aimedjie

XLDnaute Occasionnel
Bonjour,

Dans ma boîte, je veux que tous les utilisateurs enregistrent leur fichier selon le même modèle soit : Numéro du client - Nom du client.

Pour ce faire, j'ai créé la macro suivante (que j'ai d'ailleurs transmise à MCZ29) :

Sub enregistre()

Dim fName As String

fName = Application.GetSaveAsFilename(Range("Numéro du client").Value & " - " & _
Range("Nom du client").Value & ".xls", _
"Classeur Microsoft Excel (*.xls),*.xls")

If fName <> False Then
SaveAs Filename:=fName
End If

End Sub


Par contre, je n'ai aucun procédé qui empêche l'utilisateur de modifier le nom du fichier. J'aimerais savoir comment je pourrais modifier ma formule pour qu'avant d'enregistrer, la macro valide si le nom est toujours "Numéro du client - Nom du client".

Merci.
 
Re : Valider le nom d'un fichier avant de l'enregistrer

Bonjour Aimedjie, le forum,

Vous n'avez pas beaucoup testé votre macro, car elle bug sur 2 lignes : If... et SaveAs...

Voici votre macro modifiée. Si le nom du fichier est modifié, l'enregistrement n'a pas lieu et un message s'affiche.

Code:
Sub enregistre()

Dim Nom As String, fName As [COLOR="Red"]Variant[/COLOR]

Nom = Range("Numéro du client").Value & " - " & Range("Nom du client").Value & ".xls"
fName = Application.GetSaveAsFilename(Nom, "Classeur Microsoft Excel (*.xls),*.xls")

If fName = CurDir & "\" & Nom Then
 On Error Resume Next
 [COLOR="Red"]ThisWorkbook[/COLOR].SaveAs Filename:=fName 'ou [COLOR="Red"]ActiveWorkbook[/COLOR].SaveAs... c'est à voir
 On Error GoTo 0
Else
 If fName <> False Then MsgBox "Nom de fichier incorrect"
End If

End Sub

Edition 1 : quand le fichier a déjà été enregistré, Excel affiche un message avec des choix. Si vous voulez toujours l'éviter, remplacez On Error Resume Next par :

Application.DisplayAlerts = False et On Error GoTo 0 par :

Application.DisplayAlerts = True (pas forcément nécessaire).

Edition 2 : si l'utilisateur veut vraiment enregistrer le fichier sous un autre nom, il peut utiliser directement la commande Enregistrer sous... Ou modifier le nom du fichier une fois fermé...

A+
 
Dernière édition:
Re : Valider le nom d'un fichier avant de l'enregistrer

Merci beaucoup! Ça fonctionne à merveille.

J'avais essayé ma macro, mais elle est plus complexe et je n'avais inscrit que la partie problématique et effectivement, ce que j'ai collé sur le forum boguait à 2 lignes.

Merci.
 
- 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
881
Réponses
3
Affichages
645
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…