[VBA] LISTE DE FICHIER SOUS EXCEL

cs_letrust Messages postés 9 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 25 janvier 2005 - 25 janv. 2005 à 10:07
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 - 8 nov. 2006 à 12:40
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/29061-vba-liste-de-fichier-sous-excel

cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
8 nov. 2006 à 12:40
Merci bryann, je suis en train de regler deux ou trois probleme de compatibilité entre les versions, mais je devrais faire une mise a jour sous peu de cette source ;)
cs_bryann Messages postés 1 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 8 novembre 2006
8 nov. 2006 à 11:33
C'est vraiment du beau boulot. Chapeau au programmeur et merci car ca m'a bien aidé!
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
28 janv. 2006 à 01:49
Par contre, j'ai un autre petit probleme maintenant (dont je ne m'etait pas rendu compte et pour cause...) j'ai l'impression que maintenant il faut avoir un runtime vb... parceque ca marche nikel sur mon poste de dev mais sur un poste qui n'a pas Vb6 ca tourne pas (ca a peut etre rien a voir...) ca me fait une erreur sur la variable "NbrCell" :s
Je vais enquetter... si vous avez une idee... je suis prenneur...
Bonne prog,
AbriBus
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
27 janv. 2006 à 00:39
Ha oui, ca m'interresse meme pas mal!! Merci Kalobit pour ce sympatique bout de code qui pourrait bien m'etre plus qu'utile (pour la peine, je venais faire la mise a jour... ca attendra... :D) Creer les playliste M3U ca c'est cooool... et ca marche bien ? parceque justement, je suis en train d'essayer de gerer les playliste dans le playeur du fichier... mais si tu le voulais bien, ca pourrait bien etre un module tres sympa pour ce fichier .xls...
Bon bah je reviendrais faire la mise a jour quand j'aurais reglé ce probleme de boite de dialogue (merci encore!)
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
26 janv. 2006 à 17:18
salut,

Voilà mon dialog (API)

Option Explicit

'32-bit API declarations
Declare Function SHGetPathFromIDList Lib "shell32.dll" _
Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long

Declare Function SHBrowseForFolder Lib "shell32.dll" _
Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long

Public Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type

et la fonction

Function GetDirectory(Optional Msg) As String
Dim bInfo As BROWSEINFO
Dim path As String
Dim r As Long, x As Long, pos As Integer

' Root folder = Desktop
bInfo.pidlRoot = 0&

' Title in the dialog
If IsMissing(Msg) Then
bInfo.lpszTitle = "Select a folder."
Else
bInfo.lpszTitle = Msg
End If

' Type of directory to return
bInfo.ulFlags = &H1

' Display the dialog
x = SHBrowseForFolder(bInfo)

' Parse the result
path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal path)
If r Then
pos = InStr(path, Chr$(0))
GetDirectory = Left(path, pos - 1)
Else
GetDirectory = ""
End If
End Function

Si ça t'interrese, j'ai fait un classeur dans ce style pour créer mes playlistes M3U.

+++
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
26 janv. 2006 à 17:13
Hehe... il est a noter que quand j'ai programmé ce vba la premiere fois, j'utilisai Excel 2003... j'ai du repasser a Excel 2000 et la... malheure, la boite de dialogue genere une erreur... :'(

En tout cas, j'ai repris ce code en main... et je ne vais pas tarder a le mettre a jour, et je vous promet ici que vous risquez bien de le trouver... changé ^^

la principale innovation de la derniere version est la possibilité de lire un mp3 dans le fichier excel... (bon, va falloir que je vois comment je vais faire parceque juste avec les plugins dans la macro, le .xls fait plus de 1.5Mo) Nix, ca va passer ? :D

A tres bientot...
AbriBouffe
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
26 janv. 2006 à 17:06
salut,

l'instruction
If .Show = -1 Then

test la valeur de .show et donc réaffiche le dialog.

donc inutile de l'afficher la première fois.
Il faut supprimer
fd.Show

de ton code.

Sinon, c'est cool. Moi j'utilise un autre dialog mais je trouve celui ci mieux. en plus, il permet d'utiliser les dossier favoris :))))
2pme Messages postés 3 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 25 novembre 2007
31 janv. 2005 à 02:55
«innexplicablement, il faut appuyer deux fois sur "Ok" dans la boite de dialogue sélectionnant le repertoire choisi... Je n'ai aucune idee du pourquoi»

Dans la procédure

Private Sub CommandButton1_Click()
fd.Show
With fd
If .Show = -1 Then...
tu fais ouvrir deux fois le formulaire de recherche de dossiers. Pour éviter la chose pose une variable

Dim rep as long

rep = fd.Show
with fd
if rep = -1 then ...

La variable rep porte la réponse de l'utilisateur, pas besoin de l'ouvrir deux fois avec la méthode .Show.

Voilà, d'autres commentaires suivront.
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
27 janv. 2005 à 00:30
Voila, alors je viens de metre les commentaires sur la partie Mp3Tag que je devrais probablement encore metre a jour plus tard... pour aller chercher davantage d'informations du Tag...

Bonne prog...
'BriBus.
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
25 janv. 2005 à 18:24
oui on peut, mais c'est un peu dlicat car il faut creer un objet OLAP pour en faire un CubeField qui est une structure de base de donnees simplifiée (enfin, perso je trouve qu'il y a rien de simple la dedant). Bref, on peut mais d'une part c'est tres statique (difficilement modifiable et repondant a des critères initiaux stricts) aussi me parrait-il urgent de définir une arborescence logique et solide du treeview (je pensais metre ca en oeuvre plus tard s'il m'est possible d'implementer la lecture des MP3 tags)

AbriBus
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
25 janv. 2005 à 18:12
Trés bien ...
C'est possible d'organiser les infos receuillies
par groupe, un peu comme une tree view ? (Groupées)

Merci

Afyn - Navedac
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
25 janv. 2005 à 17:22
Hâ c'est vrai, pour un peu j'allais oublier d'en parler... innexplicablement, il faut appuyer deux fois sur "Ok" dans la boite de dialogue sélectionnant le repertoire choisi... Je n'ai aucune idee du pourquoi (je souligne ici que je ne suis pas le createur de cette magnifique boite appartenant a Micro$oft). Je suis toujours dessus mais si quelqu'un a une idee... ou mieu, une solution... je suis prenneur.

letrust> merci pour ton engouement pour ce bout de source... ca fait plaisir ;-)
cs_letrust Messages postés 9 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 25 janvier 2005
25 janv. 2005 à 10:07
merci pr cette source, javais justement un probleme avec le filedialog pour charger un dossier complet... mais dis moi est-il possible que dans la boite de dialogue (filedialog) on ne click qu'une seul fois sur OK... je pense que c'est au niveau du For Each... mais apparement on ne peut pas trop... ! sinon merci bcp cette source est tres bien faites à mon gout.
Rejoignez-nous