XL 2010 determiner le nbr de fichiers excel ds un dossier

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 !

fattah_5791

XLDnaute Occasionnel
salut
dans un dossier qlcq, il existe plusieurs classeurs excel de noms qlcqs. je veux une macro qui determine le nmbr de ces classeurs excel et les renommer successivement: exam1, exam2, ... , exami, sachant que i est le nombre de classeurs contenus ds le dossier parent.
Merci
 
Bonjour fattah

Dans un module standard :

VB:
Option Explicit

Sub Import_Fichiers()
Dim FileList(), i As Long, nbr As Long

    With Sheets(1)
        .Range("a2:c300").ClearContents

        FileList = Application.GetOpenFilename(, , , , True)

        For i = 1 To UBound(FileList)
            .Range("a" &  i + 1) = FileList(i)
            .Range("b" &  i + 1) = Dir(FileList(i))
            .Range("c" &  i + 1) = "Exam" &  i  & ".xls"
           nbr = i
        Next
            .Range("a:c").Columns.AutoFit
        MsgBox "Vous avez  " & nbr & "  fichiers dans ce dossier.", , "IMPORTATION"
        Call Renomme_Fichiers
    End With
End Sub


Sub Renomme_Fichiers()
Dim newName As String
Dim oldFileName As String
Dim newFileName As String
Dim numFile As Long

    With Sheets(1)
        numFile = 2
        newName = .Range("c" & numFile)
        oldFileName = .Range("a" & numFile)

        While newName <> "" And oldFileName <> ""
            newFileName = Left(oldFileName, Len(oldFileName) - Len(Dir(oldFileName))) & newName
            Name oldFileName As newFileName
            numFile = numFile + 1
            newName = .Range("c" & numFile)
            oldFileName = .Range("a" & numFile)
        Wend
    End With
End Sub
 
Dernière édition:
Sub Import_Fichiers()
Dim FileList(), i As Long, nbr As Long

With Sheets(1)
.Range("a2:c300").ClearContents

FileList = Application.GetOpenFilename(, , , , True)

For i = 1 To UBound(FileList)
.Range("a" & i + 1) = FileList(i)
.Range("b" & i + 1) = Dir(FileList(i))
.Range("c" & i + 1) = "Exam" & i
nbr = i
Next
.Range("a:c").Columns.AutoFit
MsgBox "Vous avez " & nbr & " fichiers dans ce dossier.", , "IMPORTATION"
Call Renomme_Fichiers
End With
End
Sub


Sub Renomme_Fichiers()
Dim newName As String
Dim
oldFileName As String
Dim
newFileName As String
Dim
numFile As Long

With Sheets(1)
numFile = 2
newName = .Range("c" & numFile)
oldFileName = .Range("a" & numFile)

While newName <> "" And oldFileName <> ""
newFileName = Left(oldFileName, Len(oldFileName) - Len(Dir(oldFileName))) & newName
Name oldFileName As newFileName
numFile = numFile + 1
newName = .Range("c" & numFile)
oldFileName = .Range("a" & numFile)
Wend
End With
End
Sub
 
- 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

Retour