Comment ouvrir tous les fichiers qui commence par les meme lettres?

Comment ouvrir tous les fichiers qui commence par les meme lettres? - VB/VBA/VBS - Programmation

Marsh Posté le 17-07-2007 à 17:24:52    

Bonjours,
 
Je suis en train de faire un programme VBA sous Excel.
Je cherche à ouvrir tous les fichiers qui commencent par les même lettres dans un repertoire donné.
Par exemple j'ai plein de fichiers texte dans mon répertoire C:\Dossier et je voudrais ouvrir dans Excel seulement ceux dont le nom commence par "fichier" c'est à dire que je veux ouvrir "fichier1", "fichier2", "fichier3", etc mais pas les autres qui se trouvent dans le même répertoire.  
L'ouverture de ces fichiers aurais aussi pour but de connaitre le nombre et le nom de tous les fichiers commencant par les lettre "fichier" par exemple.
 
J'espère avoir été assez clair.
 
Merci pour la reponse.

Reply

Marsh Posté le 17-07-2007 à 17:24:52   

Reply

Marsh Posté le 17-07-2007 à 19:41:38    

c'est la Xeme fois que je poste qqch de similaire, à adapter


'==================================================================
'
' Dans VBA Outils | Références : Cocher Microsoft Scripting Runtime
'
'==================================================================
 
Option Explicit
 
Dim r As Long
Const DossierRacine As String = "C:\Transfert\Essais"
Const MasqueFichier As String = "Fichier*.txt"
 
Sub Lister()
    ShImport.Cells.Clear
    r = 1
    ListeFichiersDansDossier DossierRacine, True
End Sub
 
Private Sub ListeFichiersDansDossier(ByVal NomDossierSource As String, ByVal InclureSousDossiers As Boolean)
Dim FSO As Scripting.FileSystemObject
Dim DossierSource As Scripting.Folder, SousDossier As Scripting.Folder
Dim Fichier As Scripting.File
 
    Set FSO = New Scripting.FileSystemObject
    Set DossierSource = FSO.GetFolder(NomDossierSource)
     
    For Each Fichier In DossierSource.Files
        If UCase(Fichier.Name) Like UCase(MasqueFichier) Then
            With ShImport
                .Cells(r, 1) = Fichier.Name
                .Cells(r, 2) = Fichier.ParentFolder
            End With
            Application.StatusBar = "Lecture : " & r
            r = r + 1
        End If
    Next Fichier
     
    If InclureSousDossiers Then
        For Each SousDossier In DossierSource.SubFolders
            ListeFichiersDansDossier SousDossier.Path, True
        Next SousDossier
        Set SousDossier = Nothing
    End If
     
    Set Fichier = Nothing
    Set DossierSource = Nothing
    Set FSO = Nothing
End Sub


Message édité par kiki29 le 17-07-2007 à 19:43:27
Reply

Marsh Posté le 18-07-2007 à 15:18:45    

Désolé je n'avais pas trouvé d'autres messages concernant ce sujet.  
En tout cas merci beaucoup, t'es un génis mec, ca marche.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed