listbox affiche une liste de docs avec liens

Talamaure

XLDnaute Nouveau
Bonjour à tous!

je scrute les forums mais je suis débutante et j'ai du mal à adapter ce que je vois à mon problème..

je désirerais affichier dans une listbox sur mon userform la liste des fichiers disponibles dans le répertoire "mes documents" de mon ordinateur, et le principe serait que le document concerné s'ouvre quand je clique dessus...

donc le userform doit se réinitialiser à chaque démarrage du classeur excel, afin d'afficher les noms des documents de mon répertoire...

suis je claire??

si jamais l'un d'entre vous a une idée sur la démarche à suivre... merci beaucoup!!

:)
 

Odesta

XLDnaute Impliqué
Re : listbox affiche une liste de docs avec liens

Bonjour

Le problème se découpe en 3 actions à réaliser :
1- Récupérer le contenu des Mes Documents
2- Afficher une listbox, comportant la liste du 1-
3- Permettre l'ouverture du fichier voulue de la textbox

Premiere étape :
Pour récupérer le contenue de Mes Documents, il faut utiliser une fonction for each comme ceci :
Code:
Sub recup_fic_mes_doc()
Dim tableau_fichier() As Variant

chemin = "P:\"
nb_fichier = 0

For Each fichier In CreateObject("Scripting.filesystemobject").getfolder(chemin).Files
    nb_fichier = nb_fichier + 1 'un fichier de plus est présent
    ReDim Preserve tableau_fichier(1 To nb_fichier) 'faire grandir le tableau
    
    tableau_fichier(nb_fichier) = fichier.Name 'remplir le tableau

Next

End Sub


Voici deja un début
 

Odesta

XLDnaute Impliqué
Re : listbox affiche une liste de docs avec liens

Pour la deuxième étape, merci de créer un userform1 contenant la ListBox1

Dans le code, avant le End Sub, rajouter ceci :

Code:
'remplir la liste box

For i = 1 To UBound(tableau_fichier, 1) 'pour chaque ligne de notre tableau :
    UserForm1.ListBox1.AddItem tableau_fichier(i) 'ajouter le contenu du tableau à la liste
Next

UserForm1.Show
 

Odesta

XLDnaute Impliqué
Re : listbox affiche une liste de docs avec liens

Enfin, dans le UserForm créé, rajouter les commandes suivantes :

Code:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

chemin = "P:\" 'la variable n'étant pas public, il faut la répéter
fichier_select = Me.ListBox1.Value 'assigner à la variable fichier_select le fichier qui est 'double cliqué'

ThisWorkbook.FollowHyperlink chemin & fichier_select 'ouvrir le fichier comme un hyper lien

'fermer le user form
Me.Hide

End Sub

En espérant avoir répondu au sujet, il y a quelques manip à faire, mais le travail est déjà bien maché. Il est possible que certains fichier ne s'ouvre pas bien, j'ai testé avec .jpg .xls .doc

Désolé pour les 3 messages, j'avais un peu de travail de par ailleur ^^

Cordialement

Olivier
 

Talamaure

XLDnaute Nouveau
Re : listbox affiche une liste de docs avec liens

Hello

un souci,

la listbox ne se remplit pas du noms des fichiers, elle reste donc vierge. par contre quand je double clique dedans, mon dossier cible s'ouvre...
ce que je voudrais, c'est que le nom des fichiers présents dans le dossier s'affichent dans la listbox, et que le fichier s'ouvre quand je clique dessus dans la listbox...

voilà le code que j'ai mis dans mon userform dont le nom est "achats":

Sub recup_fic_achats()
Dim tableau_fichier() As Variant

chemin = "Y:\Système Management Qualité\C02 - ACHATS"
nb_fichier = 0

For Each fichier In CreateObject("Scripting.filesystemobject").getfolder(chemin).Files
nb_fichier = nb_fichier + 1 'un fichier de plus est présent
ReDim Preserve tableau_fichier(1 To nb_fichier) 'faire grandir le tableau

tableau_fichier(nb_fichier) = fichier.Name 'remplir le tableau

Next

For i = 1 To UBound(tableau_fichier, 1) 'pour chaque ligne de notre tableau :
achats.listbox1.AddItem tableau_fichier(i) 'ajouter le contenu du tableau à la liste
Next



End Sub

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

chemin = "Y:\Système Management Qualité\C02 - ACHATS" 'la variable n'étant pas public, il faut la répéter
fichier_select = achats.listbox1.Value 'assigner à la variable fichier_select le fichier qui est 'double cliqué'

ThisWorkbook.FollowHyperlink chemin & fichier_select 'ouvrir le fichier comme un hyper lien


End Sub

y vois-tu un souci??

Merci bien
 

Odesta

XLDnaute Impliqué
Re : listbox affiche une liste de docs avec liens

Bonjour

la listbox ne se remplit pas du noms des fichiers, elle reste donc vierge.


Alors ca, c'est pas normal du tout !!

Peux-tu faire un teste, en créant un nouvel userform, et en insérant une nouvelle listbox (pas de copier coller) et voir si ca marche (sans oublier de changer les noms de variable pour qu'il pointe sur le nouvelle userform)

Si la liste est vide en aparence, merci de me joindre le fichier pour investigation.

Si la liste n'est pas vide, c'est que l'autre userform n'est convenablement configurer.

Cdt
Olivier
 

Talamaure

XLDnaute Nouveau
Re : listbox affiche une liste de docs avec liens

ok olivier,
j'ai fait le test, c'est pareil. c'est le dossier contenant les fichiers qui s'ouvre quand je double clique sur la listbox, mais cette derniere est vide...

quelque chose doit m'échapper...

voilà le test

merci beaucoup de ton aide :)


Christelle
 

Pièces jointes

  • test listbox.xls
    27.5 KB · Affichages: 119
  • test listbox.xls
    27.5 KB · Affichages: 119
  • test listbox.xls
    27.5 KB · Affichages: 121

Odesta

XLDnaute Impliqué
Re : listbox affiche une liste de docs avec liens

Pardon pour cette réponse tardive. Le dossier s'ouvre... c'est la clef du problème !!

Il manque le traditionnel ' \ ' après le nom du chemin :
chemin = "Y:\Système Management Qualité\C02 - ACHATS\"

Ca arrive à tout le monde...

Dis moi si ca marche mieux, je ne peux pas testé d'où je suis

Cdt
Olivier
 

Odesta

XLDnaute Impliqué
Re : listbox affiche une liste de docs avec liens

Bon, je me suis arrangé pour testé : Le programme recup_fic_mes_doc doit être dans un nouveau Module et non dans le code du UserForm !!

Sub recup_fic_mes_doc()
[...]
End Sub

Olivier
 

Talamaure

XLDnaute Nouveau
Re : listbox affiche une liste de docs avec liens

bon j'y comprend plus rien moi.. quand je mets "mes documents" en dossier cible, ca marche, mais quand je mets mon dossier "achats" qui est sur le réseau, ca ne marche pas (le dossier s'ouvre si je double clique dans ma listbox vide)

se pourrait il que ca puisse ne pas marcher si le dossier n'est pas sur le pc, mais sur le réseau ?
 

camadian

XLDnaute Junior
Re : listbox affiche une liste de docs avec liens

bonjour,
j'ai essayé de reproduire cette macro mais impossible de la faire fonctionner
j'ai recréer le fichier mais mais rien ne ce passe
peut etre ai je mal defini une variable ?
ci joint mon fichier
donc si qqun pouvez m' aider
merci
 

Pièces jointes

  • extraction.xls
    33.5 KB · Affichages: 100
  • extraction.xls
    33.5 KB · Affichages: 96
  • extraction.xls
    33.5 KB · Affichages: 98

Talamaure

XLDnaute Nouveau
Re : listbox affiche une liste de docs avec liens

hello
ce probleme date de plusieurs mois, je travaillais dans une autre boite et sur un autre pc, je m'excuse, je crois bien que je n'ai plus accès à ce fichier...
je vais chercher dans mes mails. si je trouve je balance le fichier.

je travaille sur 2007 depuis deux semaines, je n'arrive meme pas à trouver comment ouvrir VBA !!
 

Discussions similaires

Statistiques des forums

Discussions
312 369
Messages
2 087 675
Membres
103 634
dernier inscrit
mariobroz