Note: The other languages of the website are Google-translated. Back to English

Comment enregistrer un fichier Excel avec la valeur de la cellule?

Lorsque vous utilisez un classeur, avez-vous déjà pensé à enregistrer le fichier Excel en fonction du contenu d'une cellule? Par exemple, vous avez «Prix de vente» dans la cellule A1 et vous souhaitez enregistrer le classeur sous le nom Prix de vente. Bien sûr, vous pouvez taper le nom dans la boîte de dialogue Enregistrer sous, puis l'enregistrer. Mais ce sera une méthode inefficace dans votre quantité de travail. Aujourd'hui, je vais parler d'une astuce rapide pour le résoudre.

Enregistrer le fichier Excel avec une valeur de cellule spécifique à l'aide du code VBA

Onglet Office Activez la modification et la navigation par onglets dans Office et simplifiez considérablement votre travail ...
Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%
  • Réutiliser n'importe quoi: Ajoutez les formules, les graphiques et tout autre élément les plus utilisés ou les plus complexes à vos favoris et réutilisez-les rapidement à l'avenir.
  • Plus de 20 fonctionnalités de texte: Extraire le numéro de la chaîne de texte; Extraire ou supprimer une partie des textes; Convertissez les nombres et les devises en mots anglais.
  • Outils de fusion: Plusieurs classeurs et feuilles en un seul; Fusionner plusieurs cellules / lignes / colonnes sans perdre de données; Fusionner les lignes en double et la somme.
  • Outils de fractionnement: Diviser les données en plusieurs feuilles en fonction de la valeur; Un classeur vers plusieurs fichiers Excel, PDF ou CSV; Une colonne à plusieurs colonnes.
  • Coller sauter Lignes cachées / filtrées; Compte et somme par couleur d'arrière-plan; Envoyez des e-mails personnalisés à plusieurs destinataires en masse.
  • Super filtre: Créez des schémas de filtres avancés et appliquez-les à toutes les feuilles; Sort par semaine, jour, fréquence et plus encore; Filtre par gras, formules, commentaire ...
  • Plus de 300 fonctionnalités puissantes; Fonctionne avec Office 2007-2019 et 365; Prend en charge toutes les langues; Déploiement facile dans votre entreprise ou organisation.

flèche bleue bulle droite Enregistrer le fichier Excel avec une valeur de cellule spécifique à l'aide du code VBA


Le code VBA suivant peut vous aider à enregistrer votre classeur avec une valeur de cellule spécifiée, procédez comme suit:

1. Maintenez le ALT + F11 clés pour ouvrir le Fenêtre Microsoft Visual Basic pour Applications.

2. Cliquez insérer > Moduleet collez le code suivant dans le Fenêtre du module.

Code VBA: enregistrer le fichier Excel avec une valeur de cellule spécifique

Private Sub filename_cellvalue()
'Update 20141112
Dim Path As String
Dim filename As String
Path = "C:\Users\dt\Desktop\my information\"
filename = Range("A1")
ActiveWorkbook.SaveAs filename:=Path & filename & ".xls", FileFormat:=xlNormal
End Sub

3. Et puis appuyez sur F5 clé pour exécuter le code, et votre classeur a été nommé comme contenu de cellule de la cellule A1. Voir la capture d'écran:

doc-save-with-cell-value-1

Notes:

1. Vous pouvez spécifier n'importe quelle valeur de cellule comme nom de fichier en modifiant simplement A1 à une autre référence de cellule dans le code ci-dessus.

2. Votre classeur actif sera enregistré dans le dossier de C: \ Users \ dt \ Desktop \ mes informations \ (la dernière barre oblique doit être conservée lorsque vous collez votre emplacement à la place de celui-ci) emplacement, vous pouvez modifier le chemin selon vos besoins.


Articles Liés:

Comment enregistrer un fichier avec la date et l'heure dans Excel?

Comment afficher le chemin du fichier dans la barre de titre ou la barre d'outils dans Excel?


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (31)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
le module n'enregistre pas en .XlsX ; pense que cela a quelque chose à voir avec la ligne 7;; ".xls", FormatFichier :=xlNormal ; Aussi, comment puis-je modifier pour prendre la valeur de 3 cellules différentes concaténées? par exemple : prénom , nom , date ; à la ligne 6 du code?
Ce commentaire a été minimisé par le modérateur sur le site
Dim nom de fichier en tant que chaîne
Dim filename1 As String
Dim filename2 As String

Chemin = "C:\Users\dt\Desktop\mes informations\"
nom de fichier = Range("A1")
nomfichier1 = Plage("A2")
nomfichier2 = Plage("A3")
ActiveWorkbook.SaveAs filename :=Chemin & nom de fichier & "-" & nom de fichier1 & "-" & nom de fichier2 ".xls", FileFormat :=xlNormal
Ce commentaire a été minimisé par le modérateur sur le site
Chris. Vous pouvez le concaténer dans une cellule séparée, puis référencer cette cellule comme valeur de votre nom de fichier.
Ce commentaire a été minimisé par le modérateur sur le site
Salut, le mien ne sauvegardera que le chemin et le nom du fichier. Je souhaite uniquement enregistrer le nom de fichier référencé à partir de la cellule. Pouvez-vous m'aider s'il vous plaît?
Ce commentaire a été minimisé par le modérateur sur le site
C'est plutôt cool... mais il semble y avoir un bogue que je ne sais pas comment corriger. J'utilise ceci dans un modèle compatible avec les macros. J'ouvre le modèle, j'apporte des modifications/mises à jour, j'appuie sur F5 pour exécuter la macro... et... une boîte de dialogue "Aller à" apparaît en attendant que je tape une "référence". Cependant, si j'appuie sur ALT F11, puis appuyez sur F5, le nouveau fichier .xls est enregistré comme prévu. Dois-je toujours ouvrir le module Visual Basic pour exécuter cette procédure "save" ?
Ce commentaire a été minimisé par le modérateur sur le site
J'ai un modèle sur lequel je ne veux pas être écrasé afin que l'utilisateur soit obligé d'enregistrer le fichier nommé par date entrée dans l'un des champs. Je ne veux pas que l'utilisateur doive ouvrir des outils puis sélectionner/exécuter une macro. Ils pourraient tout aussi bien entrer le nom du fichier.
Ce commentaire a été minimisé par le modérateur sur le site
vous pouvez ajouter le = MAINTENANT () en tant que paramètre à votre nom de fichier dans la cellule avant de l'extraire dans la macro (et également placer un bouton standard dans le coin de la page afin que l'employé n'ait pas à ouvrir d'outils
Ce commentaire a été minimisé par le modérateur sur le site
Vous êtes des sauveurs. Merci!
Ce commentaire a été minimisé par le modérateur sur le site
J'ai besoin d'enregistrer en tant que fichier .csv. comment changer cela pour le sauvegarder en tant que fichier .csv ? Private Sub filename_cellvalue() 'Update 20141112 Dim Path As String Dim filename As String Path = "C:\Doorlister\import\DoorJob\" filename = Range("AC2") ActiveWorkbook.SaveAs filename:=Path & filename & ".xls ", FileFormat:=xlNormal End Sub Merci d'avance pour votre aide !
Ce commentaire a été minimisé par le modérateur sur le site
Je pense que j'ai fait quelque chose de mal ici...

Cela me donne une erreur dans la ligne Sheets("shitname").Select

J'ai probablement fait quelque chose de mal quand j'ai nommé le "nom de merde" comme la cellule K10

je veux changer la feuille en une autre feuille qui s'appelle exactement comme la cellule K10


' gicsel Macro
'
' Raccourci clavier : Ctrl+Maj+C
'
Selection.Copy
Feuilles("debagat").Sélectionnez
Lignes("8:8").Sélectionnez
ActiveSheet.Paste
Estomper le chemin en tant que chaîne
Chemin = "C:\cgxml\"
Dim nom de fichier en tant que chaîne
nom de fichier = Range("A8")
Dim shitname As String
nom de la merde = Range("K10")
Feuilles("nom de la merde").Sélectionnez
Application.CutCopyMode = Faux
ActiveWorkbook.SaveAs filename :=Chemin & nom de fichier & ".xml", FileFormat :=xltxt, CreateBackup :=False
Feuilles("TOTAL").Sélectionnez
ActiveCell.Offset(1, 0).EntireRow.Select
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Cela fonctionne très bien... Merci, mais j'ai besoin d'enregistrer au format PDF... Des idées ?

Merci

chris
Ce commentaire a été minimisé par le modérateur sur le site
comme ci-dessus mais remplacez ActiveWorkbook.SaveAs par : "ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _"C:\input filename.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties :=Vrai, IgnorePrintAreas :=Faux, _
OpenAfterPublish :=Vrai
Ce commentaire a été minimisé par le modérateur sur le site
Merci pour vos retours, ça m'a beaucoup aidé.
Ce commentaire a été minimisé par le modérateur sur le site
Hi,
Que dois-je ajouter si je voulais enregistrer la feuille de calcul active mais en utilisant la valeur de cellule de la feuille 1 ?
Ce commentaire a été minimisé par le modérateur sur le site
Aidez-moi s'il vous plaît... J'ai réussi à tout faire. Mais il enregistre les documents dans Mes documents au lieu du serveur spécifié...



Private Sub CommandButton1_Click ()
Estomper le chemin en tant que chaîne
Dim FileName1 en tant que chaîne
Dim FileName2 en tant que chaîne
Dim FileName3 en tant que chaîne
Dim FileName4 en tant que chaîne
Dim FileName5 en tant que chaîne
Chemin = "J:\Protection Services\Documents\Booysendal security"
NomFichier1 = Plage("A2")
NomFichier2 = Plage("B2")
NomFichier3 = Plage("C2")
NomFichier4 = Plage("D2")
NomFichier5 = Plage("E2")
ActiveWorkbook.SaveAs Filename :=FileName1 & "-" & FileName2 & "-" & FileName3 & "-" & FileName4 & "-" & FileName5 & ".xls", FileFormat :=xlNormal
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Ajoutez une barre oblique inverse après la sécurité et avant le guillemet... ...sécurité\"
Ce commentaire a été minimisé par le modérateur sur le site
Que se passe-t-il si vous voulez simplement définir le nom du fichier mais avez la possibilité de choisir le chemin du fichier à chaque fois que vous enregistrez ?

Vous pouvez également spécifier plusieurs cellules pour le nom de fichier. Les cellules sont également fusionnées.

Enregistrer dans des chemins de fichiers différents à chaque fois

Utiliser plusieurs cellules pour le nom de fichier
Ce commentaire a été minimisé par le modérateur sur le site
Ok, j'ai bien réussi à utiliser un bouton dans la feuille. Maintenant, je voudrais qu'il enregistre normalement après l'enregistrement initial sous. Cela peut-il être fait? Vous utilisez le même bouton de sauvegarde ?
Merci Bruce
Ce commentaire a été minimisé par le modérateur sur le site
comment créer une macro pour enregistrer plusieurs feuilles avec leurs valeurs de cellule en tant que noms de fichiers
Merci,
Rajiv
Ce commentaire a été minimisé par le modérateur sur le site
Salut à tous!

Comment enregistrer une saisie répétitive dans les mêmes cellules, dans d'autres cellules, avec une macro ?

Dans la feuille 1, je saisis des données dans A1, B1, C1, pour n fois par jour. Dans la feuille 2, j'ai besoin de sauvegarder tous ces enregistrements, en A2, B2, C2, A3, B3, C3, etc. Tnx !
Ce commentaire a été minimisé par le modérateur sur le site
Salut les amis,
J'ai un problème et je serais ravi si quelqu'un pouvait m'aider
J'ai un fichier sur le lecteur "F" et le dossier "ABS" - mon nom de fichier est "Listdata"
Dans un fichier Excel sur mon bureau, je veux que les cellules (4,4) récupèrent les données de la feuille "ABS" (1) et de la cellule (2,2)
Le code ci-dessous
Sous Macro1 ()
activesheet.Cells(4, 4).Value = " F:\ABS\" & listdata & ".xlsx" & Sheets(1).Cells(2, 2).Value
End Sub
mais ça ne marche pas correctement
Merci les amis
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, j'essaie d'utiliser ce code mais lorsque j'essaie de l'exécuter, j'obtiens une erreur d'exécution 1004 et la ligne 7 est signalée comme non valide : ActiveWorkbook.SaveAs filename:=Path & filename & ".xls", FileFormat:=xlNormal
Comment puis-je résoudre ça? J'utilise office 365
Ce commentaire a été minimisé par le modérateur sur le site
Se a célula de referencia estiver em uma outra planilha já aberta ? Como faço?
Ce commentaire a été minimisé par le modérateur sur le site
Salut. Je suis très excité que cela puisse fonctionner, mais pour moi, il est écrit "Erreur d'exécution BASIC. Procédure Sob ou procédure de fonction non définie." et la flèche indiquant la ligne 6. Que dois-je faire ?
Ce commentaire a été minimisé par le modérateur sur le site
J'ai un bouton de contrôle pour enregistrer au format PDF avec un nom spécifique à un emplacement spécifique qui fonctionne déjà, mais je souhaite modifier le code car le nom de fichier est le nom de la feuille active plus la valeur d'une cellule spécifique d'une autre feuille. Comment je fais ça? Voici ce que j'ai pour enregistrer au format PDF:


Private Sub CommandButton1_Click ()
Application.ScreenUpdating = Faux
ActiveSheet.ExportAsFixedFormat Type :=xlTypePDF, _
nom_du_fichier :="\\U:\Documents\My_IT_Stuff\T&A\PP11", _
OpenAfterPublish: = False
Application.ScreenUpdating = True
End Sub

Merci !
Ce commentaire a été minimisé par le modérateur sur le site
quelqu'un peut-il s'il vous plaît aider avec une solution, j'ai réussi à obtenir la sortie correctement si la cellule n'est pas vide

Sous-sauvegarde privée()

Dim chemin comme chaîne

Dim filename1 As String



chemin = "C:\Utilisateur\Compwork\"



filename1 = chemin & Range("G4") & " " & "-" & " " & Range("G6") & " " & "-" & " " & Range("H7") & " " & "VTError "

Application.DisplayAlerts = Faux

ActiveWorkbook.Saveas filename1, FileFormat :=52, CreateBackup :=False

ThisWorkbook.Worksheets("rapport").ExportAsFixedFormat Type :=x1typePDF, Nom de fichier :=nomfichier1

Application.DisplayAlerts = Vrai

ActiveWorkbook.Fermer



End Sub



Cependant, mon problème est que j'aimerais enregistrer un nom de fichier sans laisser d'espace si la valeur de la cellule est NULL par exemple, si la valeur G6 est vide, j'aime la sortie "G4-H7 VTError".
Existe-t-il un moyen d'aborder cela?


Merci.
Il n'y a pas encore de commentaires postés ici
TÉLÉCHARGER PLUS
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés