Liste des fichiers d'un dossier + Liens

Présentation
Liste des fichiers d'un dossier avec recherche récursive ou non via les APIs
Possibilité de créer des liens hypertextes vers les fichiers listés

02 Avr 2018 Win 32/64 bits + qqs ajustements
Téléchargement
Compatibilité
Windows
3  0 
Téléchargé 252 fois Voir les 7 commentaires
Détails
Avatar de kiki29
Expert éminent sénior
Voir tous les téléchargements de l'auteur
Licence : Autre
Date de mise en ligne : 2 avril 2018




Avatar de vinc_bilb vinc_bilb - Membre expérimenté https://www.developpez.com
le 27/05/2015 à 9:47
Bonjour,

Testé et approuvé Bravo
J'ai regardé un peu le code et .... quelques commentaires / questions:

- Pourquoi ne pas avoir tout fait par le FSO?
-
Code : Sélectionner tout
If FSO.FolderExists(sDossier) Then sChemin = sDossier & "\"
=> donc ça ne devrait pas marcher sur des SharedPoint, correct (le '/' est utilisé aussi en séparateur de folders) (personellement, je reteste toujours le séparateur utilisé pour le path .... mais il semble que je sois bien le seul )

Merci beaucoup!
Avatar de kiki29 kiki29 - Expert éminent sénior https://www.developpez.com
le 27/05/2015 à 9:55
Salut, pourquoi pas de FSO ? J'ai différentes versions avec Dir/FSO/APIs et la plus rapide a toujours été celle avec les APIs.
Pour ce qui est de SharePoint : je n'ai aucune possibilité de le tester.
Avatar de frankpub64 frankpub64 - Futur Membre du Club https://www.developpez.com
le 31/03/2018 à 18:15
Bonjour

Je n'arrive pas a faire marcher le fichier "Liste_Fichiers_Liens.xls" sous office 2016
Ci joint le message d'erreur

Cordialement
Avatar de kiki29 kiki29 - Expert éminent sénior https://www.developpez.com
le 01/04/2018 à 0:24
Ci joint le message d'erreur
Salut, comme déjà répété maintes fois je ne pratique pas l'extispicine... quel message, quelle ligne, quel système ( 32/64 bits ? ), quelle version d'Office ( 32/64 bits ? ) etc ... ici aucun pb en le transposant en Excel 2007 ( 32 bits ).

Si Office 64 bits voir ici et Développer avec Office 64 bits
Avatar de frankpub64 frankpub64 - Futur Membre du Club https://www.developpez.com
le 01/04/2018 à 20:09
Bonsoir

Excusez moi je n'avais pas vu que la capture d’écran n’étais pas passée
Effectivement c'est un Pb de version 64 bits

Avatar de kiki29 kiki29 - Expert éminent sénior https://www.developpez.com
le 01/04/2018 à 20:46
Re,donc
Si Office 64 bits voir ici et Développer avec Office 64 bits
, ou revenir en 32 bits.

Même Microsoft déconseille l'installation d'une version 64 bits d'Office.

Office 32 bits est recommandé pour la plupart des utilisateurs
Nous recommandons la version 32 bits d’Office pour la plupart des utilisateurs, car elle offre une plus grande compatibilité avec la plupart des autres applications, en particulier les compléments tiers. C’est la raison pour laquelle la version 32 bits d’Office est installée par défaut, même sur les systèmes d’exploitation Windows 64 bits. Sur ces systèmes, le client Office 32 bits est pris en charge en tant qu’installation Windows-32-on-Windows-64 (WOW64). WOW64 est l’émulateur x86 qui permet l’exécution de façon transparente des applications Windows 32 bits sur les systèmes Windows 64 bits. Cela permet aux utilisateurs de continuer à utiliser les contrôles ActiveX et les compléments COM Microsoft avec la version 32 bits d’Office.
Sinon voir Liste des fichiers d'un dossier : Win 32/64 Bits et adapter les portions de code concernées en les remplaçant par le code ci-dessous dans Liste des fichiers d'un dossier + Liens.

Dans le module mRch:
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#If Win64 Then
    Private Declare PtrSafe Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
    Private Declare PtrSafe Function FindFirstFile Lib "kernel32" _
            Alias "FindFirstFileA" _
            (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
    Private Declare PtrSafe Function FindNextFile Lib "kernel32" _
            Alias "FindNextFileA" _
            (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
    Private Declare PtrSafe Function lstrlen Lib "kernel32" Alias "lstrlenW" (ByVal lpString As LongPtr) As Long
    Private Declare PtrSafe Function PathMatchSpec Lib "shlwapi" _
            Alias "PathMatchSpecW" _
            (ByVal pszFileParam As LongPtr, ByVal pszSpec As LongPtr) As LongPtr
#Else
    Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
    Private Declare Function FindFirstFile Lib "kernel32" _
            Alias "FindFirstFileA" _
            (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
    Private Declare Function FindNextFile Lib "kernel32" _
            Alias "FindNextFileA" _
            (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
    Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenW" (ByVal lpString As Long) As Long
    Private Declare Function PathMatchSpec Lib "shlwapi" _
            Alias "PathMatchSpecW" _
            (ByVal pszFileParam As Long, ByVal pszSpec As Long) As Long
#End If
Dans le module mGlob:
Code : Sélectionner tout
1
2
3
4
5
6
7
#If Win64 Then
    Public Declare PtrSafe Function QueryPerformanceCounter Lib "kernel32" (X As Currency) As Boolean
    Public Declare PtrSafe Function QueryPerformanceFrequency Lib "kernel32" (X As Currency) As Boolean
#Else
    Public Declare Function QueryPerformanceCounter Lib "kernel32" (X As Currency) As Boolean
    Public Declare Function QueryPerformanceFrequency Lib "kernel32" (X As Currency) As Boolean
#End If
Supprimer le module mPopUpMmenu et la procédure Private Sub txtBox_MouseDown dans UserForm.
Avatar de frankpub64 frankpub64 - Futur Membre du Club https://www.developpez.com
le 03/04/2018 à 7:22
Bonjour

Merci beaucoup pour le travail fournis et cette réponse clair.

Cordialement
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
Responsables bénévoles de la rubrique Excel : Pierre Fauconnier - Arkham46 -