Command-Click "ouverture fichier"

Résolu
Messages postés
38
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
23 juillet 2007
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Bonjour,
Je suis toute nouvelle sur le forum et contente d'y être
je me lance dans Visual Basic et j'ai quelques problèmes
Sur une Command_Click
Je voudrais avoir un accès direct dans Excel sur un disque dur
Comme par exemple :

Private Sub Command1_Click()
   Open "C:\Documents and Settings\Administrateur\Mes documents\Mes Documents\Astuces EXCEL et WORD\EXCEL\Classeur1.xlx"
End

Dès cliquer sur le bouton commande le fichier excel s'ouvre sans passer par une boite de dialogue

Merci de votre aide

coco

12 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut il te faut DECLARER la constante SW_SHOWNORMAL (comme toute autre variable)

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_SHOWNORMAL As Long = 1 

Private Sub Command2_Click() 

  Dim Ouvrir As String 

  Ouvrir = "C:\Documents and Settings\claudine\Mes documents\sauvegarde de docs\documents coco avant formatage\formation\article.xls" 

  ShellExecute Me.hwnd, vbNullString, Ouvrir, vbNullString, "C:", SW_SHOWNORMAL 

End Sub 
 

<small> Coloration syntaxique automatique [AFCK]</small>
       

@+, Julien
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,


De rien pense a appuyer sur réponse acceptée sur le ou les posts qui ont pu t'aider.


Si tu le fait lors de l'ecriture de ce message excuse.






@+, Julien
Messages postés
129
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
23 mai 2009
1
Bonjour, il y a une source qui explique cela donc tu peux allez voir ici http://www.vbfrance.com/codes/SHELLEXECUTEEX-OUVRIR-FICHIER-AVEC-SON-LECTEUR-DEFAUT-FERMER_18251.aspx

Et bienvenue sur le forum
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

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

Pour l'utiliser :

ShellExecute Me.hwnd, vbNullString, "C:\Chemin\NomFichier.extension", vbNullString, "C:", SW_SHOWNORMAL

++
Messages postés
38
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
23 juillet 2007

Option Explicit<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>






 






Private Sub Command2_Click()





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






 
Dim Ouvrir As String



  Ouvrir = "C:\Documents and Settings\claudine\Mes documents\sauvegarde de docs\documents coco avant formatage\formation\article.xls"""



 



  ShellExecute Me.hwnd, vbNullString, "C:\Documents and Settings\claudine\Mes documents\sauvegarde de docs\documents coco avant formatage\formation\article.xls", vbNullString, "C:", SW_SHOWNORMAL


End Sub



 





 




Je n'arrive pas à mettre cette procédure sur ma command_Click()
je pense qu'il a une grosse erreur quelque part
Merci de m'aider à résoudre ce problème
j'aurais surment besoin de cours

coco


 


 
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

essai comme ceci :


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 Sub Command2_Click()

Dim Ouvrir As String

Ouvrir = "C:\Documents and Settings\claudine\Mes documents\sauvegarde de docs\documents coco avant formatage\formation\article.xls"

ShellExecute Me.hwnd, vbNullString, Ouvrir, vbNullString, "C:", SW_SHOWNORMAL

End Sub

@ ++
Messages postés
38
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
23 juillet 2007

Voici le message d'erreur<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600">"erreur de compilation
Variable non définie"
<v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??><o:lock aspectratio="t" v:ext="edit">
<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> Private Sub Command2_Click()       en jaune

SW_SHOWNORMAL       en  bleu</v:shapetype></o:lock></v:shapetype>
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
deus possibilités
- le bouton que tu mis sur ta feuille ne s'appelle pas Command2 ?
- La constante SW_SHOWNORMAL  n'a pas été déclarer ( Public Const SW_SHOWNORMAL = 1)

@+, Julien
Messages postés
38
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
23 juillet 2007

le bouton est bien Command2
et sur la constante j'ai rajouté = 1
et c'est toujours pareil
Merci de votre aide
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,


Donne le code exact, on pourra peu etre mieux cerner le problème






@+, Julien
Messages postés
38
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
23 juillet 2007

Resalut


voici exactement le code de la command_Click()


 



Option Explicit<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>






 






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






 






<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /??>
<v:line id="_x0000_s1026" style="Z-INDEX: 1; POSITION: absolute" to="468pt,-9pt" from="0,-9pt">
</v:line>

 





Private Sub Command2_Click()



 





  Dim Ouvrir As String



 





  Ouvrir = "C:\Documents and Settings\claudine\Mes documents\sauvegarde de docs\documents coco avant formatage\formation\article.xls"



 





 
ShellExecute Me.hwnd, vbNullString, Ouvrir, vbNullString, "C:", SW_SHOWNORMAL = 1






 





End Sub


 
Messages postés
38
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
23 juillet 2007

Merci c'est ok

tout marche à merveille

coco