Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment créer automatiquement un nom de fichier excel

9 réponses
Avatar
PLEMEAU
Dans un onglet de fichier Excel, dans une cellule bien identifiée, figure le
"nom d'un client". Je souhaite que ce nom de client soit le nom de mon
fichier Excel, et celà de façon automatique. Comment faire ?

9 réponses

Avatar
isabelle
bonjour PLEMEAU,

Sub Macro1()
ActiveWorkbook.SaveAs Filename:="C:zaza" & Sheets("Feuil1").Range("d1") & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

PLEMEAU a écrit :
Dans un onglet de fichier Excel, dans une cellule bien identifiée, figure le
"nom d'un client". Je souhaite que ce nom de client soit le nom de mon
fichier Excel, et celà de façon automatique. Comment faire ?


Avatar
JBF
Bonsoir Isabelle,

Je me permets de reprendre cette conversation.
Je cherchais exactement la macro que tu viens de proposer ci-dessous. Elle
fonctionne mais...

Juste un problème. Elle ajoute le contenu de la cellule D1 de la feuille 1
au nom du fichier déjà existant.
Concrètement mon fichier s'appelle COMPLET.xls avec ta macro ça donne
"COMPLET.xls823 devis".
J'aimerai bien faire disparaître "COMPLET.xls" et laisser 823 devis.

Est-ce possible?


"isabelle" a écrit dans le message de news:
%
bonjour PLEMEAU,

Sub Macro1()
ActiveWorkbook.SaveAs Filename:="C:zaza" & Sheets("Feuil1").Range("d1")
& ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

PLEMEAU a écrit :
Dans un onglet de fichier Excel, dans une cellule bien identifiée, figure
le "nom d'un client". Je souhaite que ce nom de client soit le nom de mon
fichier Excel, et celà de façon automatique. Comment faire ?




Avatar
isabelle
bonjour JBF,

peut tu me montrer ta macro ?

isabelle

JBF a écrit :
Bonsoir Isabelle,

Je me permets de reprendre cette conversation.
Je cherchais exactement la macro que tu viens de proposer ci-dessous. Elle
fonctionne mais...

Juste un problème. Elle ajoute le contenu de la cellule D1 de la feuille 1
au nom du fichier déjà existant.
Concrètement mon fichier s'appelle COMPLET.xls avec ta macro ça donne
"COMPLET.xls823 devis".
J'aimerai bien faire disparaître "COMPLET.xls" et laisser 823 devis.

Est-ce possible?


"isabelle" a écrit dans le message de news:
%
bonjour PLEMEAU,

Sub Macro1()
ActiveWorkbook.SaveAs Filename:="C:zaza" & Sheets("Feuil1").Range("d1")
& ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

PLEMEAU a écrit :
Dans un onglet de fichier Excel, dans une cellule bien identifiée, figure
le "nom d'un client". Je souhaite que ce nom de client soit le nom de mon
fichier Excel, et celà de façon automatique. Comment faire ?








Avatar
JBF
oui :

Sub nom_du_devis()
ActiveWorkbook.SaveAs Filename:="C:Documents and SettingsJBFMes
documentsPOLLUANTSClientsDevisComplet.xls" & Sheets("Ne pas
ouvrir").Range("A2") & " devis diagnostic" & Sheets("Ne pas ouvrir").Range("
D2") & ".xls"_
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

merci
JBF


"isabelle" a écrit dans le message de news:

bonjour JBF,

peut tu me montrer ta macro ?

isabelle

JBF a écrit :
Bonsoir Isabelle,

Je me permets de reprendre cette conversation.
Je cherchais exactement la macro que tu viens de proposer ci-dessous.
Elle fonctionne mais...

Juste un problème. Elle ajoute le contenu de la cellule D1 de la feuille
1 au nom du fichier déjà existant.
Concrètement mon fichier s'appelle COMPLET.xls avec ta macro ça donne
"COMPLET.xls823 devis".
J'aimerai bien faire disparaître "COMPLET.xls" et laisser 823 devis.

Est-ce possible?


"isabelle" a écrit dans le message de news:
%
bonjour PLEMEAU,

Sub Macro1()
ActiveWorkbook.SaveAs Filename:="C:zaza" &
Sheets("Feuil1").Range("d1") & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

PLEMEAU a écrit :
Dans un onglet de fichier Excel, dans une cellule bien identifiée,
figure le "nom d'un client". Je souhaite que ce nom de client soit le
nom de mon fichier Excel, et celà de façon automatique. Comment faire ?









Avatar
isabelle
voilà la modification :

Sub nom_du_devis()
ActiveWorkbook.SaveAs Filename:="C:Documents and SettingsJBFMes
documentsPOLLUANTSClientsDevis" & Sheets("Ne pas
ouvrir").Range("A2") & " devis diagnostic" & Sheets("Ne pas ouvrir").Range("
D2") & ".xls"_
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

JBF a écrit :
oui :

Sub nom_du_devis()
ActiveWorkbook.SaveAs Filename:="C:Documents and SettingsJBFMes
documentsPOLLUANTSClientsDevisComplet.xls" & Sheets("Ne pas
ouvrir").Range("A2") & " devis diagnostic" & Sheets("Ne pas ouvrir").Range("
D2") & ".xls"_
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

merci
JBF


"isabelle" a écrit dans le message de news:

bonjour JBF,

peut tu me montrer ta macro ?

isabelle

JBF a écrit :
Bonsoir Isabelle,

Je me permets de reprendre cette conversation.
Je cherchais exactement la macro que tu viens de proposer ci-dessous.
Elle fonctionne mais...

Juste un problème. Elle ajoute le contenu de la cellule D1 de la feuille
1 au nom du fichier déjà existant.
Concrètement mon fichier s'appelle COMPLET.xls avec ta macro ça donne
"COMPLET.xls823 devis".
J'aimerai bien faire disparaître "COMPLET.xls" et laisser 823 devis.

Est-ce possible?


"isabelle" a écrit dans le message de news:
%
bonjour PLEMEAU,

Sub Macro1()
ActiveWorkbook.SaveAs Filename:="C:zaza" &
Sheets("Feuil1").Range("d1") & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

PLEMEAU a écrit :
Dans un onglet de fichier Excel, dans une cellule bien identifiée,
figure le "nom d'un client". Je souhaite que ce nom de client soit le
nom de mon fichier Excel, et celà de façon automatique. Comment faire ?











Avatar
JBF
Bonjour Isabelle,

Cette macro ne marche pas. La cause est peut être qu'il y a plusieurs
documents dans le dossier DEVIS qui contiennent tous un onglet "Ne pas
ouvrir".

Merci

JBF

"isabelle" a écrit dans le message de news:

voilà la modification :

Sub nom_du_devis()
ActiveWorkbook.SaveAs Filename:="C:Documents and SettingsJBFMes
documentsPOLLUANTSClientsDevis" & Sheets("Ne pas
ouvrir").Range("A2") & " devis diagnostic" & Sheets("Ne pas
ouvrir").Range("
D2") & ".xls"_
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

JBF a écrit :
oui :

Sub nom_du_devis()
ActiveWorkbook.SaveAs Filename:="C:Documents and SettingsJBFMes
documentsPOLLUANTSClientsDevisComplet.xls" & Sheets("Ne pas
ouvrir").Range("A2") & " devis diagnostic" & Sheets("Ne pas
ouvrir").Range(" D2") & ".xls"_
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

merci
JBF


"isabelle" a écrit dans le message de news:

bonjour JBF,

peut tu me montrer ta macro ?

isabelle

JBF a écrit :
Bonsoir Isabelle,

Je me permets de reprendre cette conversation.
Je cherchais exactement la macro que tu viens de proposer ci-dessous.
Elle fonctionne mais...

Juste un problème. Elle ajoute le contenu de la cellule D1 de la
feuille 1 au nom du fichier déjà existant.
Concrètement mon fichier s'appelle COMPLET.xls avec ta macro ça donne
"COMPLET.xls823 devis".
J'aimerai bien faire disparaître "COMPLET.xls" et laisser 823 devis.

Est-ce possible?


"isabelle" a écrit dans le message de news:
%
bonjour PLEMEAU,

Sub Macro1()
ActiveWorkbook.SaveAs Filename:="C:zaza" &
Sheets("Feuil1").Range("d1") & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

PLEMEAU a écrit :
Dans un onglet de fichier Excel, dans une cellule bien identifiée,
figure le "nom d'un client". Je souhaite que ce nom de client soit le
nom de mon fichier Excel, et celà de façon automatique. Comment faire
?













Avatar
isabelle
bonjour JBF,

y a t'il un message d'erreur ?

isabelle

JBF a écrit :
Bonjour Isabelle,

Cette macro ne marche pas. La cause est peut être qu'il y a plusieurs
documents dans le dossier DEVIS qui contiennent tous un onglet "Ne pas
ouvrir".

Merci

JBF

"isabelle" a écrit dans le message de news:

voilà la modification :

Sub nom_du_devis()
ActiveWorkbook.SaveAs Filename:="C:Documents and SettingsJBFMes
documentsPOLLUANTSClientsDevis" & Sheets("Ne pas
ouvrir").Range("A2") & " devis diagnostic" & Sheets("Ne pas
ouvrir").Range("
D2") & ".xls"_
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

JBF a écrit :
oui :

Sub nom_du_devis()
ActiveWorkbook.SaveAs Filename:="C:Documents and SettingsJBFMes
documentsPOLLUANTSClientsDevisComplet.xls" & Sheets("Ne pas
ouvrir").Range("A2") & " devis diagnostic" & Sheets("Ne pas
ouvrir").Range(" D2") & ".xls"_
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

merci
JBF


"isabelle" a écrit dans le message de news:

bonjour JBF,

peut tu me montrer ta macro ?

isabelle

JBF a écrit :
Bonsoir Isabelle,

Je me permets de reprendre cette conversation.
Je cherchais exactement la macro que tu viens de proposer ci-dessous.
Elle fonctionne mais...

Juste un problème. Elle ajoute le contenu de la cellule D1 de la
feuille 1 au nom du fichier déjà existant.
Concrètement mon fichier s'appelle COMPLET.xls avec ta macro ça donne
"COMPLET.xls823 devis".
J'aimerai bien faire disparaître "COMPLET.xls" et laisser 823 devis.

Est-ce possible?


"isabelle" a écrit dans le message de news:
%
bonjour PLEMEAU,

Sub Macro1()
ActiveWorkbook.SaveAs Filename:="C:zaza" &
Sheets("Feuil1").Range("d1") & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

PLEMEAU a écrit :
Dans un onglet de fichier Excel, dans une cellule bien identifiée,
figure le "nom d'un client". Je souhaite que ce nom de client soit le
nom de mon fichier Excel, et celà de façon automatique. Comment faire
?
















Avatar
JBF
Autant pour moi.
Il n'y a pas de message d'erreur. L'erreur c'est moi qui l'ai générée en
faisant un mauvais copié collé! dsl.

merci de ton aide.

J'ai posté un nouveau message pour faire quasiment la même chose que ce que
tu viens de me donner comme solution mais cette fois pour imprimer en .PDF
en fonction du contenu de deux cellules mais cette fois sans modifier le nom
du fichier. J'ai essayé de remplacer "SAVE.AS" par "PRINT" ou "PRINTOUT.

Merci

JBF

"isabelle" a écrit dans le message de news:

bonjour JBF,

y a t'il un message d'erreur ?

isabelle

JBF a écrit :
Bonjour Isabelle,

Cette macro ne marche pas. La cause est peut être qu'il y a plusieurs
documents dans le dossier DEVIS qui contiennent tous un onglet "Ne pas
ouvrir".

Merci

JBF

"isabelle" a écrit dans le message de news:

voilà la modification :

Sub nom_du_devis()
ActiveWorkbook.SaveAs Filename:="C:Documents and SettingsJBFMes
documentsPOLLUANTSClientsDevis" & Sheets("Ne pas
ouvrir").Range("A2") & " devis diagnostic" & Sheets("Ne pas
ouvrir").Range("
D2") & ".xls"_
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

JBF a écrit :
oui :

Sub nom_du_devis()
ActiveWorkbook.SaveAs Filename:="C:Documents and SettingsJBFMes
documentsPOLLUANTSClientsDevisComplet.xls" & Sheets("Ne pas
ouvrir").Range("A2") & " devis diagnostic" & Sheets("Ne pas
ouvrir").Range(" D2") & ".xls"_
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

merci
JBF


"isabelle" a écrit dans le message de news:

bonjour JBF,

peut tu me montrer ta macro ?

isabelle

JBF a écrit :
Bonsoir Isabelle,

Je me permets de reprendre cette conversation.
Je cherchais exactement la macro que tu viens de proposer ci-dessous.
Elle fonctionne mais...

Juste un problème. Elle ajoute le contenu de la cellule D1 de la
feuille 1 au nom du fichier déjà existant.
Concrètement mon fichier s'appelle COMPLET.xls avec ta macro ça donne
"COMPLET.xls823 devis".
J'aimerai bien faire disparaître "COMPLET.xls" et laisser 823 devis.

Est-ce possible?


"isabelle" a écrit dans le message de news:
%
bonjour PLEMEAU,

Sub Macro1()
ActiveWorkbook.SaveAs Filename:="C:zaza" &
Sheets("Feuil1").Range("d1") & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="",
_
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

PLEMEAU a écrit :
Dans un onglet de fichier Excel, dans une cellule bien identifiée,
figure le "nom d'un client". Je souhaite que ce nom de client soit
le nom de mon fichier Excel, et celà de façon automatique. Comment
faire ?

















Avatar
isabelle
bonjour JBF,

j'ai retrouvé cette réponse de Trirème , mais je n'ai pas testé :

'___________________________________________________________________________

J'ai trouvé plusieurs variantes pour imprimer en pdf, et le seul code que j'ai réussi à faire fonctionner consiste à imprimer au format .prn sur l'imprimante virtuelle installée par acrobat puis,
pendant que mon code s'exécute, je lance Acrobat Distiller (probablement là : C:Program FilesAdobeAcrobat 5.0Distillracrodist.exe) en lui faisant 'surveiller' le dossier :
U:RequêtesProcBudg2005Diffusionin

Pour paramétrer Acrobat Distiller : Configuration, Dossier de contrôle, Ajouter le répertoire : U:RequêtesProcBudg2005Diffusionin

Les fichiers pdf seront créés automatiquement dans U:RequêtesProcBudg2005Diffusionout
Penser également à régler les préférences, les options et les protections.

Sub Machin()
' Seuls les extraits les plus palpitants sont copiés ici
' Préparation des répertoires où seront enregistrés les documents xls et pdf

' Nom du répertoire destiné à accueillir le document format Excel
RepertoireXLS = "U:RequêtesProcBudg2005Diffusion"

' Si le dossier n'existe pas, le créer (seul le dernier sous répertoire est créé,
' dans l'exemple il s'agit de 'Diffusion')
If Dir(RepertoireXLS, vbDirectory) = "" Then MkDir RepertoireXLS

' J'ajoute encore un sous répertoire trimestriellement
Trimestre ="Trim1" 'Que je crée s'il ne l'est pas déjà
RepertoireXLS = RepertoireXLS & Trimestre & ""
If Dir(RepertoireXLS, vbDirectory) = "" Then MkDir RepertoireXLS

' Nom du répertoire destiné à accueillir le document format PDF
RepertoirePDF = "U:RequêtesProcBudg2005Diffusionin"
'Le répertoire in sera scruté par Distiller
' Le dossier doit exister, on vérifie et on le crée s'il n'existe pas
If Dir(RepertoirePDF, vbDirectory) = "" Then MkDir RepertoirePDF

' ICI commence la boucle principale qui crée plusieurs fichiers
' Les noms à utiliser sont dans une table, dans un classeur ouvert pour 'l'occasion avant de lancer la macro

For i ...
...
...
' Le fichier Excel que je crée (création non développée ici) prend un 'nom composé,
' à partir du chemin (RepertoireXLS) et 2 autres variables : LeService 'et Etape
LeService = Application.Index(Range("TableService"), i, 3) ' Table service est un nom dans une feuille
' Le nom complet et définitif du fichier est donc :
NomFichierXLS = RepertoireXLS & LeService & "-" & Etape
...
...
...

' Ce nouveau fichier prend son nom au moment où on l'enregistre. On
' l'enregistre donc (certains paramètres sont optionnels) :
ActiveWorkbook.SaveAs Filename:= _
NomFichierXLS, FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse, _
CreateBackup:úlse

' Création du .PDF
NomFichierPDF = RepertoirePDF & LeService & " -" & Etape & ".prn"
' Ici j'imprime sur l'imprimante virtuelle nommée Acrobat Distiller
'
ActiveWorkbook.PrintOut PrintToFile:=True, PrToFileName:=NomFichierPDF, _
ActivePrinter:="Acrobat Distiller", Copies:=1, Collate:=True

' Rappel : Il faut lancer le programme Distiller qui est probablement
' dans C:Program FilesAdobeAcrobat 5.0Distillracrodist.exe

' Pour finir
' Une tit' sauvegarde du nouveau classeur, avant de passer au suivant
ActiveWorkbook.Save
ActiveWindow.Close ' Puis on le ferme

Next i
End Sub 'Trirème
'__________________________________________________________________________

isabelle

JBF a écrit :
Autant pour moi.
Il n'y a pas de message d'erreur. L'erreur c'est moi qui l'ai générée en
faisant un mauvais copié collé! dsl.

merci de ton aide.

J'ai posté un nouveau message pour faire quasiment la même chose que ce que
tu viens de me donner comme solution mais cette fois pour imprimer en .PDF
en fonction du contenu de deux cellules mais cette fois sans modifier le nom
du fichier. J'ai essayé de remplacer "SAVE.AS" par "PRINT" ou "PRINTOUT.

Merci

JBF

"isabelle" a écrit dans le message de news:

bonjour JBF,

y a t'il un message d'erreur ?

isabelle

JBF a écrit :
Bonjour Isabelle,

Cette macro ne marche pas. La cause est peut être qu'il y a plusieurs
documents dans le dossier DEVIS qui contiennent tous un onglet "Ne pas
ouvrir".

Merci

JBF

"isabelle" a écrit dans le message de news:

voilà la modification :

Sub nom_du_devis()
ActiveWorkbook.SaveAs Filename:="C:Documents and SettingsJBFMes
documentsPOLLUANTSClientsDevis" & Sheets("Ne pas
ouvrir").Range("A2") & " devis diagnostic" & Sheets("Ne pas
ouvrir").Range("
D2") & ".xls"_
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

JBF a écrit :
oui :

Sub nom_du_devis()
ActiveWorkbook.SaveAs Filename:="C:Documents and SettingsJBFMes
documentsPOLLUANTSClientsDevisComplet.xls" & Sheets("Ne pas
ouvrir").Range("A2") & " devis diagnostic" & Sheets("Ne pas
ouvrir").Range(" D2") & ".xls"_
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

merci
JBF


"isabelle" a écrit dans le message de news:

bonjour JBF,

peut tu me montrer ta macro ?

isabelle

JBF a écrit :
Bonsoir Isabelle,

Je me permets de reprendre cette conversation.
Je cherchais exactement la macro que tu viens de proposer ci-dessous.
Elle fonctionne mais...

Juste un problème. Elle ajoute le contenu de la cellule D1 de la
feuille 1 au nom du fichier déjà existant.
Concrètement mon fichier s'appelle COMPLET.xls avec ta macro ça donne
"COMPLET.xls823 devis".
J'aimerai bien faire disparaître "COMPLET.xls" et laisser 823 devis.

Est-ce possible?


"isabelle" a écrit dans le message de news:
%
bonjour PLEMEAU,

Sub Macro1()
ActiveWorkbook.SaveAs Filename:="C:zaza" &
Sheets("Feuil1").Range("d1") & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="",
_
ReadOnlyRecommended:úlse, CreateBackup:úlse
End Sub

isabelle

PLEMEAU a écrit :
Dans un onglet de fichier Excel, dans une cellule bien identifiée,
figure le "nom d'un client". Je souhaite que ce nom de client soit
le nom de mon fichier Excel, et celà de façon automatique. Comment
faire ?