Selection plusieurs fichiers en même temps

  • Initiateur de la discussion Fred
  • Date de début
F

Fred

Guest
Hello,

Quelqu'un peut il me dire quel est le code vba qui permet de selectionner un ensemble de fichiers d'un quelquonque répertoire comme on peut le faire avec les feuilles d'un classeur mais en une fois
Je m'explique à travers cet exemple :

sheets(array("feuil1","feuil2"................).select
Cela existe t'il pour les fichiers xls ?
Merci
Je suis certain qu'il y a sur ce forum des pros, c'est pour cela que je vous le demande
Merci encore
 
M

m.lecxe

Guest
une macro pour lister les fichiers d'un repertoire

a adapter pour ce que tu veux faire


sur le site de F Sigonneau
http://perso.wanadoo.fr/frederic.sigonneau/


Attribute VB_Name = "ListeFichiers"

'lister tous les fichiers d'un dossier et de ses sous-dossiers

Sub test()
Lister 1, "d:\"
End Sub

'* nRow = Ligne de départ
'* FolderName = Chemin du répertoire à lister
'* Suffix = Filtre optionnel des types de fichiers
'* SubDir = True pour étendre la liste aux sous-répertoires

Sub Lister(nRow&, FolderName$, Optional Suffix$ = "*.*", _
Optional SubDir As Boolean = True)
Dim i As Long, x As Long, File As String, Folder As String, nbFolders() As String
'Michel Pierron, mpfe
Cells(nRow, 1) = FolderName
Cells(nRow, 1).Font.Bold = True
nRow = nRow + 1

If Not Right(FolderName, 1) = "\" Then FolderName = FolderName & "\"
File = Dir(FolderName & Suffix)
Do While Len(File) > 0
Cells(nRow, 1) = FolderName & File
Cells(nRow, 2) = FileLen(FolderName & File)
Cells(nRow, 3) = FileDateTime(FolderName & File)
nRow = nRow + 1: File = Dir
Loop
If Not SubDir Then Exit Sub
x = 0: Folder = Dir(FolderName, vbDirectory)
Do While Folder > ""
If Folder <> "." And Folder <> ".." Then
If (GetAttr(FolderName & Folder) And vbDirectory) = vbDirectory Then x = x + 1
End If
Folder = Dir
Loop
ReDim nbFolders(x + 1): i = 1
nbFolders(i) = Dir(FolderName, vbDirectory)
Do While nbFolders(i) > ""
If nbFolders(i) <> "." And nbFolders(i) <> ".." Then
If (GetAttr(FolderName & nbFolders(i)) And vbDirectory) = vbDirectory Then i = i + 1
End If
nbFolders(i) = Dir
Loop
For i = 1 To UBound(nbFolders()) - 1
Call Lister(nRow, FolderName & nbFolders(i), Suffix)
Next
End Sub
@+
 

Discussions similaires

Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
312 502
Messages
2 089 047
Membres
104 011
dernier inscrit
dfr