Ouvrir tous les fichier excel d'un dossier

alexj51 Messages postés 18 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 11 mai 2006 - 8 juil. 2005 à 15:43
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 - 9 juil. 2005 à 02:38
Pour mon stage, je doit traiter des fichier à l'aide de macro:

Mais mon problème pour l'instant c'est comment faire une boucle sur tous les fichiers d'un dossier pour les traiter un par un.

un truc du type:

for each fichier in dossier
traiter(fichier)

Merci d'avance

2 réponses

cs_David_wklw Messages postés 48 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 24 mars 2006
8 juil. 2005 à 23:56
As-tu etudie foundfiles filesearch...

Exemple vba excel

Set fs = Application.FileSearch
With fs
.LookIn = "C:\My Documents"
.FileName = "cmd*"
If .Execute(SortBy:=msoSortbyFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
MsgBox "There were " & .FoundFiles.Count & _
" file(s) found."
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "There were no files found."
End If
End With
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
9 juil. 2005 à 02:38
Bonsoir,

Je pense que c'est ce que tu cherches.

Ce code ouvre tous fichiers .xls sélectionnés d'un répertoire.

Pour sélectionner les fichiers, appuyer sur la touche MAJ, lorsque les
fichiers ont été ouverts, dans le menu Fenêtre les sélectionner un à un
pour les traiter.



Option Explicit

Sub OuvreClasseur()

Dim strFiles

Dim xlFiles

Dim blnOuvert As Boolean

Dim strMessage As String

Dim wbk As Workbook

Dim i As Integer

Dim j As Integer



'Affiche la boîte de dialogue Ouvrir

strFiles = Application.GetOpenFilename _

(FileFilter:="Fichiers Excel (*.xls),*.xls", _

Title:="Sélectionnez les fichiers à ouvrir", _

MultiSelect:=True)



'Teste si des fichiers ont été sélectionnés

If TypeName(strFiles) = "Variant()" Then

ReDim xlFiles(UBound(strFiles))

For i = 1 To UBound(strFiles)



'Contrôle l'exention du fichiers

If Right(strFiles(i), 3) = "xls" Then



'Teste si le fichier est déjà ouvert

blnOuvert = False

For Each wbk In Workbooks

If wbk.Path & "" & wbk.Name = strFiles(i) Then

blnOuvert = True

End If

Next wbk



'Stocke le nom de fichiers dans un tableau

If Not blnOuvert Then

j = j + 1

xlFiles(j) = strFiles(i)

strMessage = strMessage & strFiles(i) & vbCr

End If

End If

Next i



'Ouvre tous les fichiers Excel après confirmation

If j > 1 Then

strMessage = "Confirmez-vous l'ouverture des fichiers :" _

& vbCr & strMessage

If MsgBox(strMessage, vbYesNo + vbQuestion) = vbYes Then

For i = 1 To j

Workbooks.Open FileName:=xlFiles(i)

Next i

End If

End If

Else

MsgBox "Aucun fichier sélectionné"

End If

End Sub



jpleroisse
0