cs_jeyjey1
Messages postés46Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 8 février 2010
-
11 avril 2008 à 14:45
cs_jeyjey1
Messages postés46Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 8 février 2010
-
14 avril 2008 à 11:02
Bonjour,
Je n'arrive pas à lancer un fichier (extension indifférente) avec ma variable "fich" par contre si je remplace dans le shellexecute ma variable par le chemin de mon fichier cela fonction, auriez vous une idée
Merci
[CODE]
Dim fich As Variant
Feuil1.Activate
Cel.Activate
ActiveCell.Offset(0, 1).Select
fich = ActiveCell.Value
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 11 avril 2008 à 14:57
Salut,
SI tu fais ceci simplement est ce que cela fonctionne?
Dim fich As String
fich = "C:\Documents and Settings\jdrecq\My Documents\COMPOSANTS OU DOCUMENTS NON RELACHES.pdf"
ShellExecute 0, "open", fich, "", "", SW_SHOWNORMAL
, ----
[code.aspx?ID=41455 By Renfield]
cs_jeyjey1
Messages postés46Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 8 février 2010 11 avril 2008 à 15:02
Merci pour ta réponse, mais le problème c'est que mon chemin se trouve parmi une multitude d autres chemin, donc il faut que je fonctionne en variable
Voici mon code complet
Sub Macro_Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte
Str_Plage = "B:B"
Str_critère = InputBox("Article à rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) Like "*" & UCase(Str_critère) & "*" Then
Feuil.Activate
Cel.Activate
X = MsgBox("Mot """ & Str_critère & """ trouvé :" & Chr(13) & _
"Sur la feuille : " & Feuil.Name & Chr(13) & _
"à la cellule : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : Lancer fichier" & Chr(13) & _
"Non : on continue la recherche " & Chr(13), vbDefaultButton2 + _
vbQuestion + vbYesNo, "MOT TROUVÉ")
Select Case X
Case 6
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 11 avril 2008 à 21:48
"...il ne faut PAS les guillemets justement..."
Ben si le chemin du fichier contient des espaces, il y a des chance qu'il faille justement l'encadrer de guillemets pour que le système le reconnaisse en entier. Sinon il va s'arreter au premier espace
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 11 avril 2008 à 21:51
A vérifier aussi si le nom du fichier ne contient pas une apostrophe en premier caractère. Ce qui est souvnet le cas sous Excel pour que le contenu d'une celulle soit considéré comme une string.
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011 12 avril 2008 à 10:52
Faudrait que tu lance ta macro en mode debugage (c'est a dire avec un point d'arret, a la premiere ligne c'est mieux) et lorsque tu a passer la ligne
fich = ...
tu passe ta souris sur fich, comme ca tu sera fixé de ce que contient la variable.
cs_jeyjey1
Messages postés46Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 8 février 2010 14 avril 2008 à 07:40
Bonjour et merci pour vos réponses...
J'ai essayé avec les guillements ça ne répond pas, le chemin ne comporte aucune apostrophe.
J'ai lancé le mode débuggage, et lorsque que je passe la souris sur ma variable fich il m'indique que celle ci est égale à "" c'est à dire à rien pourtant la cellule active comporte bien une valeur
cs_jeyjey1
Messages postés46Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 8 février 2010 14 avril 2008 à 08:45
Non le chemin est nickel, car avant d'utiliser une variable j'avais indiqué le chemin complet dans le shellexecute, et cela m'ouvrait correctement le fichier
Sinon coté test Dir(fich) m affiche une erreur "nom ou numéro de fichier incorrect"
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 14 avril 2008 à 08:57
Re,
OU la, sombre problème.
Je ne sais pas si cela va t'aider mais ceci fonctionne
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 CommandButton1_Click()
Dim Fich As String
Feuil1.Select
Fich = Range("A1").Text 'Contient C:\Test Loader\Test.pdf
If Dir(Fich) <> vbNullString Then
Call ShellExecute(0, "open", Fich, "", "", SW_SHOWMAXIMIZED)
End If
End Sub<hr />
, ----
[code.aspx?ID=41455 By Renfield]
cs_jeyjey1
Messages postés46Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 8 février 2010 14 avril 2008 à 09:19
Merci, mais le problème c'est que dans mon programme la variable change tout le temps suivant une requête donc je ne peux pas dire que A1 est égale a un chemin spécifique,
merci quand même