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

Page HTML et VBA

2 réponses
Avatar
Gilles
Salut à tous,

Il y a quelques jours, j'ai posté une question à propos des interactions
entre un form VBA et un controle de page HTML inséré dans celui-ci.

Francois Picalausa m'a gentillement répondu par cette adresse
http://msdn.microsoft.com/workshop/browser/webbrowser/tutorials/forward.asp
qui renvoie à un fichier d'aide en ligne.

J'ai bien sur essayé de comprendre le fonctionnement au trvaers de cette
aide mais je suis malgré tout un peu perdu...

Pa rexemple au point 6 de l'aide:

1.. Open the Object Browser either by selecting it from the View menu or
by pressing the F2 key.
2.. Click your project's name in the Object Browser's upper drop-down
list.
3.. Click your class module's name in the Classes list on the left side of
the Object Browser. The members of your class are displayed in the right
side of the Object Browser.
4.. Right-click the method of your class module that you want to be your
default method, and select Properties from the context menu.
5.. Click the Advanced button on the Procedure Attributes dialog box. From
the drop-down list of Procedure IDs, select Default and then click OK.

Je ne trouve pas ce "Advanced button "...

Exemple de ce à quoi j'aimerais arriver:

J'ai une page HTML avec un bouton "pousse-moi-dessus". Lorsque l'utilisateur
clique sur un bouton, VBA compre par exmple la valeur du bouton avec un like
"pousse-moi-dessus" et renvoie une action si le résultat est positif...

Meme chose avec une dropdownlist HTML qui contient une série de choix.
Lorsque l'utilisateur choisit une rubrique, VBA renvoie une action en
fonction du " select case like" mis en place afin de comparer les entrées de
valeurs...

Je ne sais pas si c'est faisable mais un petit coup de pouce serait vraiment
, mais vraiment le bienvenu...

Merci d'avance,


Gilles

2 réponses

Avatar
François Picalausa
HEllo,

Effectivement, VBA ne possède pas cette fonctionnalité.

Une possibilité serait de créer un contrôle activeX avec VB5CCE:
http://msdn.microsoft.com/vbasic/downloads/tools/cce/default.aspx
Et d'y ajouter une classe publique qui possèderait les propriétés requises.

Une autre technique serait d'inclure du script dans tes pages et que lors du
changement dans une combo il tente de naviguer vers une adresse spéciale.
Par exemple il tenterait de naviguer vers
MyApp://Form1?combo1=valeur

et dans l'événement beforeNavigate, il faudrait intercepter l'url, utilise
cancel = True pour empécher la navigation et retrouver les informations
voulues...

Sinon, il faudra forcément passer par une classe...

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Gilles" a écrit dans le message de
news:ejnz$
Salut à tous,

Il y a quelques jours, j'ai posté une question à propos des
interactions entre un form VBA et un controle de page HTML inséré
dans celui-ci.

Francois Picalausa m'a gentillement répondu par cette adresse



http://msdn.microsoft.com/workshop/browser/webbrowser/tutorials/forward.asp
qui renvoie à un fichier d'aide en ligne.

J'ai bien sur essayé de comprendre le fonctionnement au trvaers de
cette aide mais je suis malgré tout un peu perdu...

Pa rexemple au point 6 de l'aide:

1.. Open the Object Browser either by selecting it from the View
menu or by pressing the F2 key.
2.. Click your project's name in the Object Browser's upper
drop-down list.
3.. Click your class module's name in the Classes list on the left
side of the Object Browser. The members of your class are displayed
in the right side of the Object Browser.
4.. Right-click the method of your class module that you want to be
your default method, and select Properties from the context menu.
5.. Click the Advanced button on the Procedure Attributes dialog
box. From the drop-down list of Procedure IDs, select Default and
then click OK.

Je ne trouve pas ce "Advanced button "...

Exemple de ce à quoi j'aimerais arriver:

J'ai une page HTML avec un bouton "pousse-moi-dessus". Lorsque
l'utilisateur clique sur un bouton, VBA compre par exmple la valeur
du bouton avec un like "pousse-moi-dessus" et renvoie une action si
le résultat est positif...

Meme chose avec une dropdownlist HTML qui contient une série de choix.
Lorsque l'utilisateur choisit une rubrique, VBA renvoie une action en
fonction du " select case like" mis en place afin de comparer les
entrées de valeurs...

Je ne sais pas si c'est faisable mais un petit coup de pouce serait
vraiment , mais vraiment le bienvenu...

Merci d'avance,


Gilles


Avatar
Gilles
Merci beaucoup

"François Picalausa" a écrit dans le message de
news:
HEllo,

Effectivement, VBA ne possède pas cette fonctionnalité.

Une possibilité serait de créer un contrôle activeX avec VB5CCE:
http://msdn.microsoft.com/vbasic/downloads/tools/cce/default.aspx
Et d'y ajouter une classe publique qui possèderait les propriétés


requises.

Une autre technique serait d'inclure du script dans tes pages et que lors


du
changement dans une combo il tente de naviguer vers une adresse spéciale.
Par exemple il tenterait de naviguer vers
MyApp://Form1?combo1=valeur

et dans l'événement beforeNavigate, il faudrait intercepter l'url, utilise
cancel = True pour empécher la navigation et retrouver les informations
voulues...

Sinon, il faudra forcément passer par une classe...

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Gilles" a écrit dans le message de
news:ejnz$
> Salut à tous,
>
> Il y a quelques jours, j'ai posté une question à propos des
> interactions entre un form VBA et un controle de page HTML inséré
> dans celui-ci.
>
> Francois Picalausa m'a gentillement répondu par cette adresse
>



http://msdn.microsoft.com/workshop/browser/webbrowser/tutorials/forward.asp
> qui renvoie à un fichier d'aide en ligne.
>
> J'ai bien sur essayé de comprendre le fonctionnement au trvaers de
> cette aide mais je suis malgré tout un peu perdu...
>
> Pa rexemple au point 6 de l'aide:
>
> 1.. Open the Object Browser either by selecting it from the View
> menu or by pressing the F2 key.
> 2.. Click your project's name in the Object Browser's upper
> drop-down list.
> 3.. Click your class module's name in the Classes list on the left
> side of the Object Browser. The members of your class are displayed
> in the right side of the Object Browser.
> 4.. Right-click the method of your class module that you want to be
> your default method, and select Properties from the context menu.
> 5.. Click the Advanced button on the Procedure Attributes dialog
> box. From the drop-down list of Procedure IDs, select Default and
> then click OK.
>
> Je ne trouve pas ce "Advanced button "...
>
> Exemple de ce à quoi j'aimerais arriver:
>
> J'ai une page HTML avec un bouton "pousse-moi-dessus". Lorsque
> l'utilisateur clique sur un bouton, VBA compre par exmple la valeur
> du bouton avec un like "pousse-moi-dessus" et renvoie une action si
> le résultat est positif...
>
> Meme chose avec une dropdownlist HTML qui contient une série de choix.
> Lorsque l'utilisateur choisit une rubrique, VBA renvoie une action en
> fonction du " select case like" mis en place afin de comparer les
> entrées de valeurs...
>
> Je ne sais pas si c'est faisable mais un petit coup de pouce serait
> vraiment , mais vraiment le bienvenu...
>
> Merci d'avance,
>
>
> Gilles