ouvrir un fichier et le renommer par le nom d une cellule

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

nicroq

XLDnaute Occasionnel
Bonsoir a tous et merci pour votre aide,

je souhaiterai par VBA ouvrir les fichier ".xls" d'un sous repertoire de mon fichier mère et de les renommer par la cellule "A1" du fichier qui s'ouvre?
Par exemple mon chemin :

C:\dossier\monfichier\test\fichier1.xls
C:\dossier\monfichier\test\fichier2.xls
C:\dossier\monfichier\test\fichier3.xls

Mon fichier mère se trouve dans "monfichier" et je voudrais ouvrir les fichier .xls présent dans "test" (fichier1 puis fichier 2 puis fichier3) et renommer fichier1 par sa cellule "A1" puis fichier2 par sa cellule "A1" puis fichier3 par sa cellule "A1".

en vous remerciant

Cordialement
 
Re : ouvrir un fichier et le renommer par le nom d une cellule

Bonsoir à tous

nicroq
Une façon de voir les choses
(ici on ne renomme pas on enregistre sous)
VB:
Sub test()
Dim spath$, fic$
spath = "C:\temp\toto\tata\": fic = Dir(spath)
'penser à adapter le chemin selon votre PC
Do While Len(fic) > 0
    Workbooks.Open spath & fic
    ActiveWorkbook.SaveAs spath & ActiveWorkbook.Sheets(1).Range("a1").Text & ".xls"
    ActiveWorkbook.Close False
    fic = Dir()
Loop
End Sub


PS: test OK sur mon PC

Pour un renommage, voir dans l'aide ( touche F1) mot clé : Name

NB: Pourquoi avoir ouvert un second fil ?
 
Re : ouvrir un fichier et le renommer par le nom d une cellule

Merci je regarde ca demain !!

j'ai ouvert un deuxième fil pour etre plus clair et comprehensible dans ma demande...

En effet j'aurai pu enchainer sur mon premier fil desolé....

bonne soirée
 
Re : ouvrir un fichier et le renommer par le nom d une cellule

merci cela marche super bien!

serait il possible de supprimer le fichier qui a permi de faire "save as"? par exemple si je renomme fichier1 par la cellule "A1" où est ecrit"M15" don,c je me retrouve avec les fichier : fichier1 et M15, est ce qu il serait possible de supprimer fichier1?


cdlt
 
Re : ouvrir un fichier et le renommer par le nom d une cellule

Serait il aussi possible de faire un test avant de faire save as en disant que si la cellue A1 correspond deja au nom du fichier de ne pas faire la sauvegarde?
en vous remerciant

cordialement
 
Re : ouvrir un fichier et le renommer par le nom d une cellule

pour ma premiere question j'ai trouvé , j utilise la fonction Kill
Do While Len(fic) > 0
Workbooks.Open spath & fic
ActiveWorkbook.SaveAs spath & ActiveWorkbook.Sheets(1).Range("B23").Text & ".xls"
Kill (spath & fic)
ActiveWorkbook.Close False
fic = Dir()
Loop

mais par contre cela bug quand il ya save as alors que le fichier a le meme nom que la celluel A1 ce qui est normal, serait il possible de faire un test pour eviter cette erreur?

merci
 
Re : ouvrir un fichier et le renommer par le nom d une cellule

Bonsoir à tous____________________EDITION: Bonsoir JCGL

nicroq
Comme je le disais précédemment
Pour un renommage, voir dans l'aide ( touche F1) mot clé : Name
Voir également dans les archives, des questions similaires où l'on emploie Name dans les solutions proposées.
 
Dernière édition:
Re : ouvrir un fichier et le renommer par le nom d une cellule

Bonjour à tous,
Salut l'Agrafe,

Avec le code de Staple1600 :
VB:
ActiveWorkbook.SaveAs SPath & ActiveWorkbook.Sheets(1).Range("a1").Text & ".xls"
Kill SPath & Fic
ActiveWorkbook.Close False

A+ à tous
 
Re : ouvrir un fichier et le renommer par le nom d une cellule

merci JCGL

cependant cela bug quand il ya save as alors que le fichier a le meme nom que la celluel A1 ce qui est normal, serait il possible de faire un test pour eviter cette erreur?

merci
 
Re : ouvrir un fichier et le renommer par le nom d une cellule

Re

nicroq
Il semblerait que tu ai zappé ce message, non ?
https://www.excel-downloads.com/thr...e-renommer-par-le-nom-d-une-cellule.20001644/

Histoire de te montrer de quoi je cause
Code:
Sub renommer()
Dim i&
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
NomActuel = Cells(i, 1).Value
NouveauNom = Cells(i, 2).Value
On Error Resume Next
MsgBox NouveauNom
'If Not Dir(NomActuel) = "" Then Name NomActuel As NouveauNom
On Error GoTo 0
Next
End Sub
 
Re : ouvrir un fichier et le renommer par le nom d une cellule

je ne comprends pas votre code staple1600 désolé .. pourriez vous le detaillé svp? car le nom actuel n est pas défini et je narrive pas l' integrer dans le code précedent...

Dim spath$, fic$
Dim Rep As String
Dim chemin As String
chemin = Workbooks(ActiveWorkbook.Name).Path
Rep = chemin & "\test\"
spath = Rep: fic = Dir(spath)
'penser à adapter le chemin selon votre PC
Do While Len(fic) > 0
Workbooks.Open spath & fic
ActiveWorkbook.SaveAs spath & ActiveWorkbook.Sheets(1).Range("B23").Text & ".xls"
Kill (spath & fic)
ActiveWorkbook.Close False
fic = Dir()
Loop

merci pour votre aide
cordialement
 
- 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
16
Affichages
1 K
Retour