ticrain
Messages postés178Date d'inscriptionjeudi 15 mars 2007StatutMembreDernière intervention 2 janvier 2015
-
26 avril 2007 à 14:23
mortalino -
28 avril 2007 à 01:03
Je dois ouvrir des fichier excel et word que joré selectionner dans une listobox en appuyant sur un bouton:
est ce que qqun peut m'aider je c que shellexecute est efficace pour cela, g commencé un bout de code mais je c pas le finir ce que je peut vous dire c'est que les fichier .DOC et .XLS se trouve sur C:.
J'ai commencé se bout de code mais je c meme pas si je pars dans le bon sens? et surtout il est pas fini si qqun peut m'aider se serai sympa.
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub CommandButton2_Click()
Dim nomdoc As String
nomdoc = ListBox1.List(ListBox1.ListIndex)
...........
..........je sais plus après
ticrain
Messages postés178Date d'inscriptionjeudi 15 mars 2007StatutMembreDernière intervention 2 janvier 2015 26 avril 2007 à 16:04
quelle est la différence entre shell et shell execute si tu specifie l'extension Rapport.doc.
Moi quand je clique sur ma listbox je voudrai que mon programme va cherché le fichier que g cliqué sur ma list box et qu'il me l'ouvre avec la bonne application.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 26 avril 2007 à 16:08
> [auteurdetail.aspx?ID=999867 Nicko11]: je l'ai testé sous Excel pas sous Access donc il y a peu être encore des différences, comme pas de Me.Hwnd, Pas de Private SUb Form_Load....
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 26 avril 2007 à 16:10
As tu deja reussi a ouvrir un fichier via le code. Si non, on se fous de cette liste box pour l'instant si tu ne sais pas ouvrir un fichier. Faut savoir voir ou sont les priorités.
Une fois que tu saurais ouvrir un fichier avec son nom, tu mettras dans une liste, le chemin complet de tous tes fichiers et une autre ou tu mettras que le nom du fichier. Comme ca tu connaitras le chemin de tes fichiers et leurs extentions.
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 26 avril 2007 à 16:12
OK moi aussi, j'ai testé que sur Access et pas sur Excel ou word donc je sais pas mais ce que je voudrais c'est en finir car la, je serais Admin, je l'aurais exclus a vie. 37 posts pour UNE question avec un manque de volonté pareil, j'avais jamais vu ca. RRRAAAAAHHHHH. Et pourtant je suis patient et j'essaies de l'aider mais bon.
ticrain
Messages postés178Date d'inscriptionjeudi 15 mars 2007StatutMembreDernière intervention 2 janvier 2015 26 avril 2007 à 16:13
Bon les gards c'est bon on avance par contre g oublié de vous spécifier qquechose
c'est que dans ma list box c'est des cellules que je fait apparaitre et c'est grace a ce qu'il y a ecrit dans c'est cellule que je fait le lien ensuite avec le disque dur!
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 26 avril 2007 à 16:14
Salut,
Donc la autre devinnette c'est quoi des cellules dans une listbox????????????
est ce que par la tu veux dire que le contenu de la listbox vient d'un RowSource
ticrain
Messages postés178Date d'inscriptionjeudi 15 mars 2007StatutMembreDernière intervention 2 janvier 2015 26 avril 2007 à 16:27
oui mais ca ne repond pas à mes besoins ma listbox fait apparaitre des contenue de cellules via la commande rowsource.
j'explique :
dans ma feuil excel
en A1 : 1234.doc
A2: 2341.doc
A3: Check list.xls
dans ma listbox apparait les meme dénomination
A1 : 1234.doc
A2: 2341.doc
A3: check list.xls
dans mon disque dur sur C:
je retrouve 1234.doc 2341.doc et check list.xls parmi tant d'autre que je ne veut pas afficher dans ma listbox.
en cliquant sur l'un de c lien je veux qu'il mouvre avec la bonne application
ticrain
Messages postés178Date d'inscriptionjeudi 15 mars 2007StatutMembreDernière intervention 2 janvier 2015 26 avril 2007 à 16:32
Je comprend pas se que tu veux dire remplace 1234.doc par son chemin complet: voici mon code actuel: merci
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_MAXIMIZE = 3
Private Sub commandbutton2_Click()
Dim Fichier As String
Fichier = ListBox1.List(ListBox1.ListIndex)
Call ShellExecute(0, "open", Fichier, vbNullString, vbNullString, SW_MAXIMIZE)
End Sub
Private Sub UserForm_Activate()
Dim Fichier As String
Dim Repertoire As String
Repertoire = "C:"
Fichier = Dir(Repertoire & "*.*")
While Fichier <> ""
Call ListBox1.AddItem(Repertoire & Fichier)
Fichier = Dir
Wend
End Sub
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 26 avril 2007 à 16:32
Salut,
Je viens de modifier mon code pour voir si cela fonctionne avec un rowsource et il n'y a aucun problème la SEULE condition c'est qu'il faut que les cellules contiennent LE CHEMIN COMPLET DES FICHIERS
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_MAXIMIZE = 3
Private Sub List1_Click()
Dim Fichier As String
Fichier = List1.List(List1.ListIndex)
Call ShellExecute(0, "open", Fichier, vbNullString, vbNullString, SW_MAXIMIZE)
End Sub<hr />Private Sub UserForm_Activate()
Dim Fichier As String
Dim Repertoire As String
Dim I As Integer
Repertoire = "C:\Test\"
Fichier = Dir(Repertoire & "*.*")
'Boucle pour remplir mes cellules
While Fichier <> ""
I = I + 1
Range("A" & I).Value = Repertoire & Fichier
Fichier = Dir
Wend
List1.RowSource = "A1:A" & I
End Sub<hr />
, ----
[code.aspx?ID=41455 By Renfield]