Excel / Ovrire un fichier ou un dossier depuis une listBox
Résolu/Fermé
A voir également:
- Excel / Ovrire un fichier ou un dossier depuis une listBox
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Ouvrir un fichier .bin - Guide
- Comment ouvrir un fichier docx ? - Guide
3 réponses
J'ai essayé la fonction que tu propose, mais elle ouvre tous les documents dans une fenêtre Excel. Hors moi j'aimerais ouvrir les documents comme le fait un lien hypertexte.
PS: comment je peut joindre un document? suis-je obliger d'être membre du forum pour le faire?
PS: comment je peut joindre un document? suis-je obliger d'être membre du forum pour le faire?
Rivet.ch
Messages postés
3
Date d'inscription
jeudi 14 mars 2013
Statut
Membre
Dernière intervention
9 juin 2013
14 mars 2013 à 22:51
14 mars 2013 à 22:51
On progresse, mais ça vas être compliquer de le faire pour toutes les extensions.
vous devriez pouvoir télécharger le fichier teste que j'ai fait ici :
https://www.cjoint.com/c/CCowQIenm2v
vous devriez pouvoir télécharger le fichier teste que j'ai fait ici :
https://www.cjoint.com/c/CCowQIenm2v
J'ai utilisé les cellules J2 et J3 pour inscire des hyperliens
Dans le code de UserForm2, remplacer ces prodédures:
j'espère que c'est ce que tu cherchais à faire
A+
Dans le code de UserForm2, remplacer ces prodédures:
Private Sub CB_Fermer_Click() Range("J2:J3").Delete Unload Me End Sub Private Sub CB_OpenDoc_Click() Range("J3").Select Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True End Sub Private Sub CB_OpenDos_Click() Range("J2").Select Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True End Sub Private Sub ListBox1_Change() Sheets("Liste_Dossier").Range("F2") = Me.ListBox1.Column(1) & "\" Sheets("Liste_Dossier").Range("F4") = Me.ListBox1.Column(1) & "\" & Me.ListBox1.Value Range("J2").Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _ Me.ListBox1.Column(1), TextToDisplay:= _ Me.ListBox1.Column(1) Range("J3").Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _ Me.ListBox1.Column(1) & Me.ListBox1.Value, TextToDisplay:= _ Me.ListBox1.Column(1) & Me.ListBox1.Value 'Run (Sheets("Liste_Dossier").Range("F3")) End Sub Private Sub UserForm_Initialize() Range("J2:J3").Delete '-Rechercher les données Run ("Rechercher") '------------- '-Ajouter les données à la liste Run ("AjoutRecherche") '--------- End Sub
j'espère que c'est ce que tu cherchais à faire
A+
Rivet.ch
Messages postés
3
Date d'inscription
jeudi 14 mars 2013
Statut
Membre
Dernière intervention
9 juin 2013
17 mars 2013 à 22:56
17 mars 2013 à 22:56
Tip-top, ça fonctionne aussi bien que je l' espérais.
J'ai juste modifier tu fonction Delete par Clear, car delete supprime les cellules. Ce qui décales les colonnes suivantes.
# Range("J2:J3").Delete# ==>> # Range("J2:J3").Clear#
J'ai aussi put récupérer la fonction pour afficher directement les lien-hypertextes sur la feuille Dossier.
Je vous met la version deux là : https://www.cjoint.com/c/CCrwS5Hl7jA
Merci et A+
PS: Comment afficher le [Résolue] dans le titre?
J'ai juste modifier tu fonction Delete par Clear, car delete supprime les cellules. Ce qui décales les colonnes suivantes.
# Range("J2:J3").Delete# ==>> # Range("J2:J3").Clear#
J'ai aussi put récupérer la fonction pour afficher directement les lien-hypertextes sur la feuille Dossier.
Je vous met la version deux là : https://www.cjoint.com/c/CCrwS5Hl7jA
Merci et A+
PS: Comment afficher le [Résolue] dans le titre?
keskisspasse
Messages postés
5
Date d'inscription
mercredi 13 mars 2013
Statut
Membre
Dernière intervention
13 mars 2013
13 mars 2013 à 05:54
13 mars 2013 à 05:54
Bonjour,
Alors si c'est la fonction Open qui t'interesse la voici :
C'est la complete, dans ton cas de figure il filename = listbox (ou ya le chemin)
et copy si tu veux que cela soit ouvert copies , il y a des lignes qui peuvent ne pas tinteresser (mais je n'ai pas ton fichier donc je sais pas )
Exemple dans un feuille appellé "sheet1"
Cordialement
Alors si c'est la fonction Open qui t'interesse la voici :
Sub ImportWorksheet() ' This macro will import a file into this workbook Sheets("Sheet1").Select PathName = Range("D3").Value Filename = Range("D4").Value TabName = Range("D5").Value ControlFile = ActiveWorkbook.Name Workbooks.Open Filename:=PathName & Filename ActiveSheet.Name = TabName Sheets(TabName).Copy After:=Workbooks(ControlFile).Sheets(1) ActiveWorkbook.Close SaveChanges:=False End Sub
C'est la complete, dans ton cas de figure il filename = listbox (ou ya le chemin)
et copy si tu veux que cela soit ouvert copies , il y a des lignes qui peuvent ne pas tinteresser (mais je n'ai pas ton fichier donc je sais pas )
Exemple dans un feuille appellé "sheet1"
Cordialement
14 mars 2013 à 09:11
Si c'est un fichier texte (.txt) que tu veux ouvrir:
Dim ProcID
ProcID=Shell("C:\Windows\system32\notepad.exe" & " " & "C:\truc\Chose.txt", 1)
A+
14 mars 2013 à 17:50
14 mars 2013 à 20:45
Donc tu dois choisir l'application et lui passer en parametre le fichier à ouvrir.
Concrètement, tu récupères le type de fichier en regardant son extension, en général c'est les trois derniers caractères du nom (mais pas toujours), et suivant le cas tu lances le programme qui va avec. Exemple:
Il y a peut-être une autre manière de faire mais je ne la connais pas.
A+.