Modifier la variable ME

Le
FdeCourt
Bonjour,

J'utilise des macros complémentaires, qui elles même utilisent un
programme externe à Excel.

Les programmes externes me permettent de me connecter à une
application est de récupérer des données en fonction de critères qu=
i
sont saisis dans la feuille. Je clique sur un bouton, qui se trouve
sur la feuille et je récupère mes infos

Je voudrais pouvoir utiliser ces programmes sans passer par une
feuille Excel.
Or à aucun endroit il n'est indiqué dans le code VBA des macros
complémentaires (celle qui font appellent aux programmes externes) une
référence aux informations saisies dans la feuille.

Je suppose que les programmes externes reçoivent des informations de
la variable Me (suite au clique sur le bouton dans la feuille).

Comme j'aimerais pouvoir utiliser ces programmes sans feuille,
j'aurais souhaité savoir s'il est possible de modifier la variable Me,
ou de l'instancier avec ce que je veux ?

Je vous remercie

Cordialement,
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fdecourt
Le #19228301
Merci Michdenis pour cette longue explication.
Je me suis débrouillé autrement (c'est pas propre, mais cela
fonctionne), en ajoutant par macro un bouton sur la feuille qui
appelle les programmes externe.

Cordialement,

F.

On 30 avr, 04:28, "MichDenis"
Bonjour FdeCourt,

Le mot "Me" s'emploie seulement dans un module de classe.
Dans Excel, à part des modules "standard", tous les modules
(Feuil, ThisWorkbook, Userform, insertion d'un module de classe)
où l'on saisit du code sont des modules de classe.

En fait, le petit mot Me représente l'objet de la classe lui-même.

Un petit exemple :
Pour signifier le module module de classe "Feuil1" dans du code,
on peut écrire   Feuil1.range()....  Dans ce cas, Feuil1 représen te la propriété
"Name" de l'objet feuille visible dans la fenêtre de l'éditeur de cod e. Me, si
l'on veut c'est le terme générique pour tous les modules de classe. O n aurait
pu écrire : Me.Range()...

Le mot "Me" se limite à représenter le module de classe dans lequel i l est utilisé.
On ne peut pas utiliser le mot "Me" pour faire référence à un autre module de
classe à l'extérieur du module de classe où il est utilisé(écri t).

En conséquence, si dans le code d'un module de classe d'Excel, tu obser ves
l'expression "Me", Tu peux le substituer par la propriété Name du mod ule
de classe.

Par code, on peut créer une instance de l'application Excel. Le fait qu e cette
instance soit visible est une option et non une nécessité. Ce cette i nstance
on peut créer des feuilles, les utiliser pour des opérations interm édiaires
et ne conserver que le résultat dans le médium de son choix. Après son
utilisation, l'instance d'Excel est supprimée de la mémoire.

"FdeCourt" Bonjour,

J'utilise des macros complémentaires, qui elles même utilisent un
programme externe à Excel.

Les programmes externes me permettent de me connecter à une
application est de récupérer des données en fonction de critères qui
sont saisis dans la feuille. Je clique sur un bouton, qui se trouve
sur la feuille et je récupère mes infos

Je voudrais pouvoir utiliser ces programmes sans passer par une
feuille Excel.
Or à aucun endroit il n'est indiqué dans le code VBA des macros
complémentaires (celle qui font appellent aux programmes externes) une
référence aux informations saisies dans la feuille.

Je suppose que les programmes externes reçoivent des informations de
la variable Me (suite au clique sur le bouton dans la feuille).

Comme j'aimerais pouvoir utiliser ces programmes sans feuille,
j'aurais souhaité savoir s'il est possible de modifier la variable Me,
ou de l'instancier avec ce que je veux ?

Je vous remercie

Cordialement,


Publicité
Poster une réponse
Anonyme