Shellexecute aidez moi!

Résolu
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Derniè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

Merci
A voir également:

101 réponses

ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Derniè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.

Je comprend pas tout
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
26 avril 2007 à 16:05
Desolé Jrivet, mais pour moi VB dans un formulaire access, c'est du VBA et ca fonctionne tres bien.
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
26 avril 2007 à 16:06
Ecoute copie exactement le code de jrivet dans un projet vierge, juste une listebox nommé list1 ça marche nicket, je viens de le tester!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
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....

@+: Ju£i?n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
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.
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
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.
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Derniè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!
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
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

@+: Ju£i?n
Pensez: Réponse acceptée
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
26 avril 2007 à 16:15
une cellule dans une listbox, je comprends plus!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
26 avril 2007 à 16:15
T'as essayé comme je t'ai dis le code de jrivet dans un nouveau projet?

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
26 avril 2007 à 16:16
tout à fait Jrivet un rowsource
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
26 avril 2007 à 16:18
oui drikce06 ton code marche mais il m'affiche tout ce qu'il y a sur mon disque dur et ce n'est pas encore ca que je veux mais oon avance lol.
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
26 avril 2007 à 16:20
Tu n'as plus qu'a faire un filtre tu mets une condition pour avoir que les ".xls et les ".doc" et le tour est joué!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
26 avril 2007 à 16:23
Et bien tu n'a qu' remplacer dans les cellules le nom des fichiers par le CHEMIN COMPLET et ca devrait marcher

@+: Ju£i?n
Pensez: Réponse acceptée
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Derniè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
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
26 avril 2007 à 16:28
Re,
Remplace 1234.doc par son CHEMIN COMPLET et ca devrait marcher

@+: Ju£i?n
Pensez: Réponse acceptée
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Derniè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
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
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]

@+: Ju£i?n
Pensez: Réponse acceptée
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
26 avril 2007 à 16:34
Alors,
Prenons un repertoire Ici C:\Test\
Il contient 1234.doc , 3456.XLs etc.

ceci est le nom du fichier 1234.doc
ceic est son chemin complet : C:\Test\1234.doc.

@+: Ju£i?n
Pensez: Réponse acceptée
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
26 avril 2007 à 16:39
Plus on avance et moins je comprend moi qui croyé que se n'etait qu'un shellexecute je vois bien la difficulté c lourd
0
Rejoignez-nous