XL 2016 listes des fichiers

MOEZ-TUN

XLDnaute Occasionnel
bonjour
comment je modifié ce macro pour faire lister tous les fichier sauf les fichiers doc, xls et pdf


Sub BoucleFichiers()
Dim Chemin As String, Fichier As String, i As Integer
' Efface liste
Range("A:A").ClearContents
'Définit le répertoire contenant les fichiers, à modifier. ici fichiers sur écran.
Chemin = [C2]
'Boucle sur tous les fichiers xls* du répertoire.
Fichier = Dir(Chemin & "*.xls*") ' Type xls, xlsx, xlsm, xlsb.
'Utilisez la syntaxe suivante pour boucler sur tous les types de fichiers:
'Fichier = Dir(Chemin & "*.*")
i = 1
Do While Len(Fichier) > 0
' Range le nom du fichier dans la colonne A
Cells(i, 1) = Fichier
i = i + 1 ' incrément N° de ligne
Fichier = Dir()
Loop
End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Moez-tun,
Un exemple en analysant l'extension :
VB:
Sub BoucleFichiers()
Dim Chemin As String, Fichier As String, i As Integer
' Efface liste
Range("A:A").ClearContents
'Définit le répertoire contenant les fichiers, à modifier. ici fichiers sur écran.
Chemin = [C2]
'Boucle sur tous les fichiers du répertoire.
Fichier = Dir(Chemin & "*.*")
i = 1
Do While Len(Fichier) > 0
' Suppression de l'affichage des fichiers doc, xls, pdf et aussi xlsx,xlsm,docx,docm
If Right(Fichier, 3) <> "doc" And Right(Fichier, 3) <> "xls" And Right(Fichier, 3) <> "pdf" And _
   Right(Fichier, 1) <> "x" And Right(Fichier, 1) <> "m" Then
    ' Range le nom du fichier dans la colonne A
    Cells(i, 1) = Fichier
    i = i + 1 ' incrément N° de ligne
End If
Fichier = Dir()
Loop
End Sub
Je supprime aussi les fichiers xlsx, xlsm, docx, docm . A modifier si cela ne vous convient pas.
 

MOEZ-TUN

XLDnaute Occasionnel
sorry j'essai avec cette forumule , mais n'est pas fonction
Sub BoucleFichiers_spc()
Dim Chemin As String, Fichier As String, i As Integer
' Efface liste
Range("H12:H100").ClearContents
'Définit le répertoire contenant les fichiers, à modifier. ici fichiers sur écran.
Chemin = [G3]
'Boucle sur tous les fichiers du répertoire.
Fichier = Dir(Chemin & "*.*")
i = 12
Do While Len(Fichier) > 0
' Suppression de l'affichage des fichiers doc, xls, pdf et aussi xlsx,xlsm,docx,docm
If Right(Fichier, 3) = "doc" And Right(Fichier, 3) = "xls" And Right(Fichier, 3) = "pdf" And _
Right(Fichier, 4) = "xlsx" And Right(Fichier, 4) = "xlsm" And Right(Fichier, 4) = "docx" And _
Right(Fichier, 4) = "docm" Then

' Range le nom du fichier dans la colonne A
Cells(i, 8) = Fichier
i = i + 1 ' incrément N° de ligne
End If

Fichier = Dir()
Loop
End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Moez-Tun, Soan,
Comme apparemment les deux types de macros vous intéresse, Inclure et Exclure xls,doc,pdf, on peut faire une macro "universelle" avec :
VB:
Sub BoucleFichiers()
    InclureXlsDocPdf = 1    ' Mettre 1 si doit inclure xls, doc et pdf, sinon mettre 0
    ExclureXlsDocPdf = 0    ' Mettre 1 si doit exclure xls, doc et pdf, sinon mettre 0
    ' donc 1 et 1 lestera tous les fichiers
    ListeFichiers InclureXlsDocPdf, ExclureXlsDocPdf
End Sub
Sub ListeFichiers(Inclure, Exclure)
Dim Chemin As String, Fichier As String, i As Integer
' Efface liste
Range("A:A").ClearContents
'Définit le répertoire contenant les fichiers, à modifier. ici fichiers sur écran.
Chemin = [C2]
'Boucle sur tous les fichiers du répertoire.
Fichier = Dir(Chemin & "*.*")
i = 1
Do While Len(Fichier) > 0
' Suppression de l'affichage des fichiers doc, xls, pdf et aussi xlsx,xlsm,docx,docm
If Right(Fichier, 3) = "doc" Or Right(Fichier, 3) = "xls" Or Right(Fichier, 3) = "pdf" Or _
   Right(Fichier, 1) = "x" Or Right(Fichier, 1) = "m" Then
    If Inclure = 1 Then
        ' Range le nom du fichier dans la colonne A car de type xls doc pdf
        Cells(i, 1) = Fichier
        i = i + 1 ' incrément N° de ligne
    End If
Else
    If Exclure = 1 Then
        ' Range le nom du fichier dans la colonne A car de type AUTRE que xls doc pdf
        Cells(i, 1) = Fichier
        i = i + 1 ' incrément N° de ligne
    End If
End If
Fichier = Dir()
Loop
End Sub
En initialisant ces deux lignes on peut faire ce qu'on veut :
Code:
InclureXlsDocPdf = 1    ' Mettre 1 si doit inclure xls, doc et pdf, sinon mettre 0
ExclureXlsDocPdf = 0    ' Mettre 1 si doit exclure xls, doc et pdf, sinon mettre 0
' donc 1 et 1 listera tous les fichiers, ... et 0 0 ne listera rien.
 

Pièces jointes

  • Essai.xlsm
    17.8 KB · Affichages: 18

Discussions similaires

  • Question
Microsoft 365 Code VBA
Réponses
10
Affichages
717

Statistiques des forums

Discussions
314 719
Messages
2 112 181
Membres
111 452
dernier inscrit
christine64