Noms de fichier

Bonjour

est ce qu'il est possible de modifier le nom d'un fichier automatique en fonction de la valeur d'une cellule

merci par avance

Bonsoir,

Modifier le nom d'un fichier est toujours possible. Il faudrait préciser dans quelle situation ?

en fait je voudrai que ce que je met dans la cellule a1 modifie le nom du fichier automatiquement

j'ai plusieurs fichier presque identique a part une cellule ( le noms de la personne) et chaque fichier doit avoir le noms

ex dans la cellule a1 Mr Dupond noms du fichier Dupond

Bonjour corbin,

En A1 : Nom de la personne : Mr Dupond

Si ton nom de fichier est par exemple "Classeur de Untel", alors tu peux mettre :

Sub Essai()
  Dim NomFichier As String
  NomFichier = "Classeur de " & Range("A1")
End Sub

La même chose en plus court :

Sub Essai()
  Dim NomFichier$
  NomFichier = "Classeur de " & [A1]
End Sub

Pour les 2 codes VBA, résultat identique : texte de NomFichier = "Classeur de Mr Dupond"

dhany

voici le fichier

en faite je souhaiterai que le noms soit:

Avec nom a remplacer par la valeur dans la cellule A3 de la feuille valeur

Avec prénom a remplacer par la valeur dans la cellule B3 de la feuille valeur

Avec date a remplacer par la valeur dans la cellule D3 de la feuille valeur

Bonjour corbin,

Je te retourne ton fichier modifié :

À l'ouverture du fichier, tu es sur la feuille "valeur" ; regarde les données que j'ai mises en A3:F3 ; va sur la 1ère feuille "Paramètres" ; tu peux voir que toutes les données précédentes sont bien reportées ici, dans les 6 zones bleues ; retourne en feuille "valeur" pour supprimer les données de A3:F3 puis reviens ici : tu peux voir que les zones bleues sont vides au lieu de contenir 0.

Le format de tes 6 cellules bleues était un format Texte, ce qui ne va pas du tout ! car pour des cellules qui contiennent une formule, il faut obligatoirement le format Standard ! ce que j'ai bien sûr rectifié.

Je te laisse ôter la protection de la feuille pour vérifier les nouvelles formules.


Si besoin, tu peux demander une adaptation.

Merci de me donner ton avis.

dhany

je comprend pas ce que tu as fait?

sur la 1ère feuille "Paramètres" : pour E9, j'ai mis le format Standard, puis cette formule :

=SI(valeur!$C$3="";"";valeur!$C$3)

pour les 5 autres cellules bleues : idem, sauf que la formule change légèrement.


Ajout : j'viens d'm'apercevoir que j'ai recopié en fin de formule ton $C$3 alors que les signes $ sont inutiles car on n'a pas à faire de recopie de formule vers le bas ou vers la droite ; j'ai donc simplifié la formule ainsi :

=SI(valeur!C3="";"";valeur!C3)

avantage : la formule est plus facile à lire ; j'ai déjà fait pareil pour les 5 autres cellules bleues.

d'où ce nouveau fichier :

en plus, tu verras que les 6 cellules bleues sont verrouillées et masquées ➯ la feuille étant protégée, les formules sont protégées contre tout écrasement accidentel et n'apparaissent pas dans la barre de formule.

dhany

merci même si ça correspond pas a ma question initiale

si tu veux je voudrai que quand j'enregistre le nom du fichier comprend dedans le noms et prénom de l'élève

Tu a écrit :

je voudrai que quand j'enregistre le classeur, le nom du fichier comprend dedans le nom et le prénom de l'élève

où ça ? ce serait pas plutôt dans une macro de ton fichier .xlsm ? or tu as joint un fichier .xlsx !

sinon, si le nom du fichier est dans une cellule du classeur, alors sur quelle feuille ?

(j'ai cherché, mais j'ai pas trouvé ! )

à te lire pour la suite.

dhany

en fait je veux un noms de fichier de cette forme

BEP MELEC - grilles notation CCF - Nom Prénom candidat - V 19 03 2017.xlsx

schant qu ele nom est dans la cellule a 3

et que le prénom est dans b3

alors je te propose cette formule :

="BEP MELEC - grilles notation CCF - " & A3 & " " & B3 & " candidat - V 19 03 2017.xlsx"

➯ "BEP MELEC - grilles notation CCF - Dupond Jean candidat - V 19 03 2017.xlsx"

dhany

ça j'avais trouvé, ce que je voulait mais être impossible c'est que ne cliquant sur enregistrer sous le noms du fichier (sur le disque) devient le résultat de ta formule

Pour ça, c'est possible que par VBA, avec Worksheets_BeforeSave() : on indique le nom à utiliser pour la sauvegarde ; mais je crois que tu te trompes de voie : je crois que ce serait plus simple que tu crées un modèle vierge ; en ouvrant ce modèle, tu as un classeur vierge où tu saisis tes données, et tu le sauvegardes avec le nom que tu veux ; tu fermes ce classeur, puis pour le classeur suivant, rebelotte à partir du modèle vierge, et ainsi de suite.

Un classeur modèle sans macro est un fichier .xltx ; un classeur modèle avec macros est un fichier .xltm

(oui, la 1ère lettre rouge est un T minuscule, pas un S minuscule)


Je te laisse lire l'aide Excel pour de plus amples infos sur ce qu'est un modèle, ainsi que la façon de le créer et de l'utiliser.

dhany

j'ai bien pensé a ton truc mais vu le noms a la con, s'il y avait une solution j'aurai préféré

en tous cas merci de ton aide

y'a pas d'quoi ; j'te souhaite bonne continuation !

dhany

Bonjour corbin,

J'ai eu une idée qui devrait te plaire :

À l'ouverture du fichier, tu es sur la feuille "valeur" ; fais Ctrl e ; vérifie que c'est ok : tu trouveras le nouveau classeur .xlsx dans le même dossier que celui où tu as placé ce fichier .xlsm ; depuis le fichier .xlsm : Alt F11 pour voir le code VBA, puis revenir sur Excel.


note 1 : la macro Ctrl e ne marche qu'à partir de la feuille "valeur" ; c'est voulu, car c'est mieux que tu vérifies visuellement les données actuelles de la feuille avant de l'enregistrer.

note 2 : si le classeur .xlsx de la feuille existait déjà, ça te demande une confirmation pour le remplacer ou non.

note 3 : si le classeur .xlsx de la feuille a été mis en lecture seule : pas d'plantage, mais pas d'copie non plus.


Si besoin, tu peux demander une adaptation.

Merci de me dire si ça te convient.

dhany

ça avance lol

par contre je veux sauvegarder l'ensemble du fichier

t'es sûr que tu veux sauvegarder tout le fichier, avec toutes les feuilles ?


et avec le code VBA ou sans le code VBA ?

si c'est sans → .xlsx ; si c'est avec → .xlsm


en attente de ta réponse pour faire le nouveau code VBA

dhany

je veux sauvegarder l'ensemble du fichier.

si tu veux c'est un fichier officiel qu'il faut envoyer sous cette forme (1 par élève)

Rechercher des sujets similaires à "noms fichier"