Autres Gestion_Fichiers

VIARD

XLDnaute Impliqué
Bonjour à toutes et tous

Voici un petit utilitaire, qui peut rendre service à tous.
J'ai utilisé la fonction de "Walkenbach"
Il suffit de choisir le répertoire à explorer.
Bon usage à tous.

A+ Jean-Paul
 

Pièces jointes

  • Gestion_Fichiers.xlsm
    21.1 KB · Affichages: 244

Lolote83

XLDnaute Barbatruc
Bonjour VIARD,
Joli travail, c'est dans la boite.
Par contre, au niveau des extensions, ne serait-il pas possible de pouvoir regrouper par exemple :
- Pour Excel (.xls, .xlsm .....)
- Pour Word (.doc, .docx ....)
- Pour les fichiers sonores (.mid, .mp3, .wma ....)
- Pour les fichiers images (.bmp, .ico, .jpg ....)
Ne pourrait-on pas se servir de la colonne Type (que l'on retrouve via l'explorateur) pour faire cette répartition
1634561750739.png

@+ Lolote83
 

VIARD

XLDnaute Impliqué
Bonjour Lolote83

Merci de t'y être intéresser, effectivement ce serait un plus.
les extensions sont en vrac, je ne voulais pas dépasser 100 lignes de code.
mais maintenant que tu le dis, je vais y réfléchir.
ça fait toujours du bien d'avoir un autre avis que le sien.

A+ Jean-Paul
 

Lolote83

XLDnaute Barbatruc
Re bonjour,
J'ai regardé ton code et on peut à mon sens retrouver l'information citée au post#2
Voir copie d'écran

1634565072776.png


Du coup, avec cette option Cells(i,4) = Fichier.type nous donnerait bien l'association des fichiers.
Ce qui donnerait :
1634564397036.png


Voili voilà.
Bon courage et à bientôt
@+ Lolote83
 

Pièces jointes

  • 1634564231379.png
    1634564231379.png
    23.1 KB · Affichages: 18
Dernière édition:

Lolote83

XLDnaute Barbatruc
Re bonjour,
J'ai pensé à un truc du genre formulaire comme ceci
Qu'en penses tu ?
La liste des choix serait dans un tableau structuré sur une feuille de calcul indépendante.
Du coup le formulaire récupère l'intégralité des données.
En plus, la liste de choix est multiple donc pas mal de possibilité.
@+ Lolote83
 

Pièces jointes

  • 1634569135813.png
    1634569135813.png
    24.3 KB · Affichages: 35

VIARD

XLDnaute Impliqué
Re Bonjour

Bon j'ai arrangé un peu, histoire de voir plus clair
Pour l'instant c'est sans User pour que ce soit plus légé
Mais ton idée n'est pas idiote, histoire de ne pas écrire l'extension.

A+ Jean-Paul
 

Pièces jointes

  • Gestion_Fichiers.xlsm
    22.3 KB · Affichages: 41

VIARD

XLDnaute Impliqué
Bonjour Lolote83 et à tous

J'aime beaucoup, facile d'utilisation, on peut ajouter facilement
une extension, pour ma part j'aurais un peu plus de temps
Mais dans mon idée de départ je ne voulais pas utiliser un User.
juste avoir un module standard pour faciliter la migration, c'est la raison de (InputBox).
En tout cas merci l'approche est très intéressante.

Salutation Jean-Paul
 

Lolote83

XLDnaute Barbatruc
Rebonjour VIARD,
J'ai tout de même un problème par exemple avec les "images" car l'intitulé 'TYPE" peut avoir plusieurs dénomination et comme dans mon exemple, je recherche une partie du nom "type", je ne trouve pas de solution de regroupement.
1634649737441.png

Par exemple, pour Excel, je recherche dans "type" le mot excel qui apparait automatiquement que ce soit :
- Feuille de calcul Microsoft Excel 97-2003 (fichier .xls)
- Feuille de calcul Microsoft Excel (fichier .xlsx)
- Feuille de calcul Microsoft Excel prenant en charge les macros (fichier .xlsm)
1634649977412.png

Du coup, pour les images, ou les fichier sonores, je suis coincé. Mais je cherche une alternative. Si tu trouves, c'est génial
@+ Lolote83
 

VIARD

XLDnaute Impliqué
Bonjour Mante et à tous

Je ne peux pas vraiment répondre à la question,
vu que je suis sue Excel2007 mais tout de même Windows10 (64b).

Je viens toutefois de chercher un peu.
je pense qu'il faut écrire comme ceci.

Declare PrtSafe Function SHGetPathFromIDList Lib "shell32.dll" _
Alias "SHGetPathFromIDListA" (ByVal pidl As LongPtr, ByVal pszPath As String) As LongPtr
Declare PrtSafe Function SHBrowseForFolder Lib "shell32.dll" _
Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As LongPtr

Bon courage pour la suite.

A+ Jean-Paul
 
Bonjour le fil

@VIARD , petite modif proposée pour accepter les caractères génériques, un ".xl*" sortira tous les fichiers à extension commençant par xl ex: xls, xlb, xlsx, xlsm, xlsa, etc

Bien cordialement, @+
VB:
Sub Liste_des_Fichiers()
Dim Msg$, Directory$, Nb%
Dim i As Long, Ext$, Ex$
Dim Dossier As Object
Dim Fichier As Object

    Msg = "Sélectionnez un emplacement contenant les fichiers que vous souhaitez lister."
    Directory = GetDirectory(Msg)
    If Directory = "" Then Exit Sub
    If Right(Directory, 1) <> "\" Then Directory = Directory & "\"
'------- Insérer en-têtes ------
    i = 2
    Range("A:D").ClearContents
    Cells(i, 1) = "Nom de fichier"
    Cells(i, 2) = "Taille"
    Cells(i, 3) = "Date"
    Range("A1:D2").Font.Bold = True: Range("C:C").ColumnWidth = 16 ': Exit Sub
    Range("A1:D2").HorizontalAlignment = xlCenter
    Range("A2:D2").Interior.ColorIndex = 6: Range("A1").Interior.ColorIndex = 44
    On Error Resume Next
    Set Dossier = CreateObject("Scripting.FileSystemObject").GetFolder(Directory)
'--------- Choix Extention --------
Ex = InputBox("Choix extention :" & Chr(10) & ".xls, .doc, .PDF, .txt, .jpg, .avi, .zip, .gif" _
& Chr(10) & ".bmp, .ico, .mid, .mp3, .wma, .xlsm, .xlsx, .docx" _
& Chr(10) & "Ne pas oublier le point" _
& Chr(10) & "Pour tout lister extention vide --> valider directement", "EXTENTION")
'------- Affichage Fichiers -------
        For Each Fichier In Dossier.Files
            If Fichier.Name Like "*" & Ex Then
                i = i + 1
                Cells(i, 1) = Fichier.Name: Cells(i, 1).EntireColumn.AutoFit
                Cells(i, 2) = Fichier.Size
                Cells(i, 3) = Fichier.datecreated
            End If
            Cells(2, 4) = "Q = " & i - 2
        Next Fichier
        Range("A1").Value = Directory
End Sub