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

Comment faire cliquer sur un bouton

9 réponses
Avatar
Michel MTO
Bonjour à toutes et à tous,

J'aimerai, lors de l'ouverture par macro d'un fichier excel qui contient un
fomulaire sur lequel sont disposés des boutons à cliquer, que la procèdure
appelante clique sur un bouton spécifique (sans intervention humaine) et
ensuite que cette même procèdure clique automatiquement sur un lien
hypextext qui affiche une feuille.

Comment faire cela sous VBA ??

merci par avance pour vos suggestions.

Michel MTO

9 réponses

Avatar
LSteph
Bonjour,

En supposant que ton CommandButton execute une macro que je nommerai
ici lamacrodubouton

Private sub Workbook_open()
call lamacrodubouton
End sub

'lSteph



On 9 fév, 17:09, "Michel MTO" wrote:
Bonjour à toutes et à tous,

J'aimerai, lors de l'ouverture par macro d'un fichier excel qui contient un
fomulaire sur lequel sont disposés des boutons à cliquer, que la proc èdure
appelante clique sur un bouton spécifique (sans intervention humaine) e t
ensuite que cette même procèdure clique automatiquement sur un lien
hypextext qui affiche une feuille.

Comment faire cela sous VBA ??

merci par avance pour vos suggestions.

Michel MTO


Avatar
Michel MTO
Merci lSteph pour ta réponse,

mais j'ai un petit souci, si je met cette procèdure dans le classeur qui ne
contient pas le bouton en question, j'obtiens un message d'erreur, procèdure
ou fonction non défini !!!

si je met cette procèdure dans mon classeur contenant le bouton, la macro va
s'exécuter à chaque démarrage !!! ce que je ne veux pas, je veux qu'elle
s'exécute que si je clique dessus manuellement ou que si le code du fichier
"source.xls" l'exécute (voir ci dessous).

En fait, je suis dans un fichier source que je nomme "source.xls", ce que
j'aimerai faire c'est ouvrir le classeur que je nomme
"fichieravecbouton.xls" avec ceci :

ChDir "C:Documents and Settingschemin ........"
Workbooks.Open Filename:= _
"C:Documents and Settingscheminfichieravecbouton.xls"

Ensuite ce fichier s'ouvre et là je voudrais mettre un code à la suite de
ces commandes qui activerai la macro rattachée au fameux bouton dans le
fichier "fichieravecbouton.xls".

Suis je clair ??


Michel MTO

"LSteph" a écrit dans le message de
news:
Bonjour,

En supposant que ton CommandButton execute une macro que je nommerai
ici lamacrodubouton

Private sub Workbook_open()
call lamacrodubouton
End sub

'lSteph



On 9 fév, 17:09, "Michel MTO" wrote:
Bonjour à toutes et à tous,

J'aimerai, lors de l'ouverture par macro d'un fichier excel qui contient


un
fomulaire sur lequel sont disposés des boutons à cliquer, que la procèdure
appelante clique sur un bouton spécifique (sans intervention humaine) et
ensuite que cette même procèdure clique automatiquement sur un lien
hypextext qui affiche une feuille.

Comment faire cela sous VBA ??

merci par avance pour vos suggestions.

Michel MTO


Avatar
FdeCourt
Salut,

A mettre après ton code d'ouverture du fichier (et en changeant le nom
du fichier et de la macro, attention à conserver le !) :

Application.Run "fichieravecbouton.xls!lamacrodubouton"

Cordialement,

F.
Avatar
Michel MTO
Merci pour ta réponse FdeCourt,

Lorsque j'insère le code que tu me propose, après le code d'ouverture, rien
ne se passe, le fichier s'ouvre et voilà !!!

Je précise que sur le fichier "fichieravecbouton.xls", j'ai un formulaire
qui s'ouvre à l'ouverture du fichier, et sur ce formulaire se trouve le
fameux bouton à cliquer. De plus lorsque je clique sur le bouton, puisque
rien ne se passe, excel me dit qu'il n' arrive à excécuter la macro => code
erreur retourné : erreur d'exécution 1004, impossible de trouver la macro
"fichieravecbouton.xls!lamacrodubouton"

Si j'essai de fermer le formulaire par la croix, en haut à droite, je tape
le mot de passe qui met permet de fermer le formulaire, et là erreur =>
erreur d'exécution 424, objet requis (dans ce cas de figure j'ai avant ton
code = UserForm1.Hide

Que faut-il faire ??? un idée ??

Michel


"FdeCourt" a écrit dans le message de
news:
Salut,

A mettre après ton code d'ouverture du fichier (et en changeant le nom
du fichier et de la macro, attention à conserver le !) :

Application.Run "fichieravecbouton.xls!lamacrodubouton"

Cordialement,

F.
Avatar
FdeCourt
Salut,

Sans avoir les fichiers sous les yeux, c'est difficile de pouvoir
poser un diagnostic.
N'y aurait-il pas une erreur dans le fichier lui même ?

Cordialement,

F.
Avatar
Michel MTO
J'ai trouvé mon erreur la syntaxe exact est la suivante :
j'avais oublié le ' avant ".
Application.Run "'fichieravecbouton.xls'!lamacrodubouton"

Maintemant mon problème est de trouver le code qui permet de fermer le
formulaire se trouvant dans le fichier "fichieravecbouton.xls" sachant qu'il
y a un mot de passe !!!!

Merci pour ton aide

"FdeCourt" a écrit dans le message de
news:
Salut,

Sans avoir les fichiers sous les yeux, c'est difficile de pouvoir
poser un diagnostic.
N'y aurait-il pas une erreur dans le fichier lui même ?

Cordialement,

F.
Avatar
FdeCourt
salut,

C'est à dire que pour ouvrir le fichier il faut un mot de passe ?
Ou est-ce un formulaire créer en VBA ?

Cordialement,

F
Avatar
Michel MTO
Non, pas du tout, le fichier n'a pas de mot de passe.

Simplement si je veux reprendre la main sur les feuilles du classeur, je
suis obligé de fermer le formulaire, qui effectivement est crée par vba, par
la croix en haut à droite du formulaire et là j'ai mis un mot de passe pour
éviter que tout le monde aille bidouiller le classeur.

Alors mon souci c'est de trouver un code qui me fermerai ce formulaire en
lui indiquant ce mot de passe, sachant que cette procèdure se trouve à
l'exterieur de mon fameux classeur "fichieravecbouton.xls"

Michel

"FdeCourt" a écrit dans le message de
news:
salut,

C'est à dire que pour ouvrir le fichier il faut un mot de passe ?
Ou est-ce un formulaire créer en VBA ?

Cordialement,

F
Avatar
FdeCourt
Salut,
Désolé, mais je n'arrive pas à voir la structure de tes fichiers et c e
que tu souhaites faire.
Poster tes fichiers sur www.cjoint.com serait d'une grande utilité
pour qu'on puisse répondre à ton problème.

Cordialement,

F.