XL 2010 determiner le nbr de fichiers excel ds un dossier

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
 

Lone-wolf

XLDnaute Barbatruc
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:

fattah_5791

XLDnaute Occasionnel
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
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 017
Messages
2 104 584
Membres
109 084
dernier inscrit
mizab