XL 2016 listes des fichiers

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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.
 
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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
236
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
861
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
3
Affichages
672
Retour