Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Exécuter un programme dont le chemin et le nom figure dans le controle d'un formulaire

4 réponses
Avatar
denis-lyon
Bonjour,

j'ai crée un formulaire qui reprend différents champs d'un table. Parmi ces
champs, certains contiennent des noms de fichiers avec leur chemin complet.
J'affiche ces champs dans des controles désactivés et verouillés et ces noms
correspondent à des fichiers Excel ou Word, ou des images.Ce que je
souhaiterai faire c'est :

sur l'évenement double-clic sur ce controle, que le fichier qui figure dans
ce controle soit executé, par le programme par défaut défini dans Windows,
comme si l'on était dans l'explorateur de fichier. Par exemple, si c'est un
fichier .xls qui est dans le controle, et que Excel est installé sur le pc,
en cas de double clic sur le controle, Excel s'ouvre avec la feuille
concernée.

Merci de votre aide

4 réponses

Avatar
Alexandre
Je ne suis pas certain de ce que tu veux dire
par "contrôle". Est-ce un bouton de commande ou une zone
de texte?
De toute façon tu peux faire ceci en VBA ou par un Macro.
Tu vas dans propriétés de l'objet à double cliquer et
ensuite "sur double-clic".
Pour avoir un exemple en VBA, tu peux faire un bouton de
commande et suivre l'assistant (ouvrir application.
Ensuite il te dit comment faire ouvrir un fichier excel).
Tu vas voir le code VBA créé. Celui-ci est pour un simple
clique, mais tu peux mettre "Dbl" devant click, ou
faire "créer code", "générateur de code" sous souble-clic
et copier le reste du chemin d'accès.

Si ton chemin d'accès contient des espaces, il se peut que
ça ne fonctionne pas. Il y a moyen d'y arriver, cette
question à déjà été répondu il n'y a pas longtemps


Exemple:

Private Sub Commande595_DblClick()
On Error GoTo Err_Commande595_DblClick

Dim stAppName As String


stAppName = "Excel.exe C:test.xls"

Call Shell(stAppName, 1)

Exit_Commande595_DblClick:
Exit Sub

Err_Commande595_DblClick:
MsgBox Err.Description
Resume Exit_Commande595_DblClick

End Sub






-----Message d'origine-----
Bonjour,

j'ai crée un formulaire qui reprend différents champs
d'un table. Parmi ces

champs, certains contiennent des noms de fichiers avec
leur chemin complet.

J'affiche ces champs dans des controles désactivés et
verouillés et ces noms

correspondent à des fichiers Excel ou Word, ou des
images.Ce que je

souhaiterai faire c'est :

sur l'évenement double-clic sur ce controle, que le
fichier qui figure dans

ce controle soit executé, par le programme par défaut
défini dans Windows,

comme si l'on était dans l'explorateur de fichier. Par
exemple, si c'est un

fichier .xls qui est dans le controle, et que Excel est
installé sur le pc,

en cas de double clic sur le controle, Excel s'ouvre avec
la feuille

concernée.

Merci de votre aide


.



Avatar
denis-lyon
Merci de ta réponse,

en fait par controle, j'entend la zone de texte correspondant au champ de ma
table, mais à la rigueur, que ce soit une zone de texte ou bouton n'est pas
tres important pour mon problème.

Concernant ta macro VBA, elle est très bien, seulement elle lance excel
systematiquent, alors que ce que je cherche, c'est de que l'application qui
se lance, soit l'application par défaut qui ouvre le fichier mentionné dans
le champ. Comme dans l'explorateur par ex.
Ceci dit si aucune commande ne permet cela je me rabattrai sur ta solution
en lui rajoutant qq conditions en fonction de l'extension du fichier "ouvrir
word pour .doc, excel pour .xls etc...)

Merci

Alexandre" a écrit dans le message de
news:24f1d01c4606c$88192420$
Je ne suis pas certain de ce que tu veux dire
par "contrôle". Est-ce un bouton de commande ou une zone
de texte?
De toute façon tu peux faire ceci en VBA ou par un Macro.
Tu vas dans propriétés de l'objet à double cliquer et
ensuite "sur double-clic".
Pour avoir un exemple en VBA, tu peux faire un bouton de
commande et suivre l'assistant (ouvrir application.
Ensuite il te dit comment faire ouvrir un fichier excel).
Tu vas voir le code VBA créé. Celui-ci est pour un simple
clique, mais tu peux mettre "Dbl" devant click, ou
faire "créer code", "générateur de code" sous souble-clic
et copier le reste du chemin d'accès.

Si ton chemin d'accès contient des espaces, il se peut que
ça ne fonctionne pas. Il y a moyen d'y arriver, cette
question à déjà été répondu il n'y a pas longtemps


Exemple:

Private Sub Commande595_DblClick()
On Error GoTo Err_Commande595_DblClick

Dim stAppName As String


stAppName = "Excel.exe C:test.xls"

Call Shell(stAppName, 1)

Exit_Commande595_DblClick:
Exit Sub

Err_Commande595_DblClick:
MsgBox Err.Description
Resume Exit_Commande595_DblClick

End Sub






-----Message d'origine-----
Bonjour,

j'ai crée un formulaire qui reprend différents champs
d'un table. Parmi ces

champs, certains contiennent des noms de fichiers avec
leur chemin complet.

J'affiche ces champs dans des controles désactivés et
verouillés et ces noms

correspondent à des fichiers Excel ou Word, ou des
images.Ce que je

souhaiterai faire c'est :

sur l'évenement double-clic sur ce controle, que le
fichier qui figure dans

ce controle soit executé, par le programme par défaut
défini dans Windows,

comme si l'on était dans l'explorateur de fichier. Par
exemple, si c'est un

fichier .xls qui est dans le controle, et que Excel est
installé sur le pc,

en cas de double clic sur le controle, Excel s'ouvre avec
la feuille

concernée.

Merci de votre aide


.



Avatar
Raymond [mvp]
Bonjour.

c'est possible, regarde la page
http://access.seneque.free.fr/executer_selon_ext.htm qui permet d'exécuter
un document selon son extension.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"denis-lyon" a écrit dans le message de
news:
Merci de ta réponse,

en fait par controle, j'entend la zone de texte correspondant au champ de
ma

table, mais à la rigueur, que ce soit une zone de texte ou bouton n'est
pas

tres important pour mon problème.

Concernant ta macro VBA, elle est très bien, seulement elle lance excel
systematiquent, alors que ce que je cherche, c'est de que l'application
qui

se lance, soit l'application par défaut qui ouvre le fichier mentionné
dans

le champ. Comme dans l'explorateur par ex.
Ceci dit si aucune commande ne permet cela je me rabattrai sur ta solution
en lui rajoutant qq conditions en fonction de l'extension du fichier
"ouvrir

word pour .doc, excel pour .xls etc...)

Merci



Avatar
denis-lyon
Merci beaucoup, j'avais pas assez cherché sur les sites visiblement.


"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

c'est possible, regarde la page
http://access.seneque.free.fr/executer_selon_ext.htm qui permet d'exécuter
un document selon son extension.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum