VBA - Renommer des fichiers avec le contenu d'une cellule

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 !

varchamb

XLDnaute Nouveau
Bonjour Forum,

Il y a bcp de sujet sur le thème que je propose, mais aucun ne fait exactement ce que je souhaiterai. et malheureusement, adapter une macro n'est pas aussi facile que je le pensais au début (je suis novice en VBA).

J'aimerai simplement renommer un nombre de fichiers importants par le contenu de leur cellule respective C5. Mettons que ces fichiers soient tous contenus ds un dossier nommé "archive".

Merci d'avance à tous ceux qui prendront le temps de m'aider,

Cdlt,

Varchamb
 
Re : VBA - Renommer des fichiers avec le contenu d'une cellule

Bonjour Varchamb

J'ai cherché pendant 2 heures, tout changé et rechangé, essayé de nouvelles choses ... mais je m'avoue vaincu. J'en arrive à ça. Ca me permet d'aller chercher C5 mais toujours pas C6. Conclusion : toutes mes modifications n'ont rien apporté (mais rien détraqué non plus). Quelqu'un a-t-il une solution ?

Désolé, mais je me suis apreçu, dans ton code que je tavais donné, qu'il y avait un problème. Vu qu'on utilise open et close, or, il n'y en a pas besoin si on veux travailler sans ouvrir le fichier (en fait en anglais Open veut dire Ouvrir (par exemple "open the door" = "ouvre la porte") et close veut dire fermer 😱).

Alors pour ton problème, place ces 3 fichiers dans un dossier sur ton C:\ nommé Temp2. Et reviens en cas de problèmes 🙂.
 

Pièces jointes

Re : VBA - Renommer des fichiers avec le contenu d'une cellule

Bonjour,
@varchamb: ne voulais tu pas éviter d'ouvrir les fichiers ?!
J'ai inséré une variable "texte" pour éviter les formules à rallonge
Code:
Sub Macro1()
Application.ScreenUpdating = False
pfile = ActiveWorkbook.Path & "\archive\" 'indiquer ici le chemin du répertoire
nfile = Dir(pfile)
i = 2
Do Until nfile = ""
    texte = "'" & pfile & "[" & nfile & "]FORMULAIRE'!"
    Cells(i, 8).FormulaArray = "=COUNTA(" & texte & "$C$18:C118)"
    For j = 1 To Cells(i, 8)
        Cells(i, 1) = Year(Date)
        Cells(i, 2) = Int((Month(Date) + 2) / 3)
        Cells(i, 3) = "=" & texte & "$C$4"
        Cells(i, 4) = "=IF(" & texte & "$C$5=""""," & texte & "$C$6," & texte & "$C$5)"
        Cells(i, 5) = "=" & texte & "$B$" & j + 17
        Cells(i, 6) = "=" & texte & "$C$" & j + 17
        Cells(i, 7) = "=" & texte & "$E$" & j + 17
        i = i + 1
    Next
    nfile = Dir()
Loop
Columns(8).Cells.Clear
With Range("A2:G" & Range("A65000").End(xlUp).Row)
    .Value = .Value
End With
End Sub
A+
kjin
 
- 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
2
Affichages
1 K
Retour