OVH Cloud OVH Cloud

liaisons Access Excel

3 réponses
Avatar
lecrol
Bonjour,
J’ai une appli Access et une appli Excel qui sont liées. Chacune appelle
l’autre à partir de boutons commandes, dans n’importe lequel des deux sens
et en allers et retours multiples. J’ai bien résolu le problèmes du passage
Excel Access, dans un sens ou dans l’autre. J’utilise la fonction Vbe
stAppName = … et Call Shell(stAppName, 1)

Mais j‘ai le problème que cela me recharge entièrement l’appli à chaque
appel, dans un sens ou dans l’autre La solution serait de refermer l’appli
appelante, pour ne pas avoir de multiples implantations en mémoire. Mais
c’est naze !
Comment faire pour, NON PAS charger l’appli appelée, mais simplement lui
passer la main quand elle est déjà en mémoire (après la 1e fois, dans mon cas
!). Je voudrais automatiser, en Vbe, ce que je ferai très bien manuellement
avec la touche Tab du clavier !

Merci de vos lumières, amigos !
ROLAND

3 réponses

Avatar
Raymond [mvp]
Bonjour.

dans le sens access - excel , il faut passer par exemple par automatisation.
tu trouveras des exemples sur les pages :
http://officesystem.access.free.fr/vba/excel.htm.
pour le contraire excel -access, je ne vois pas la nécessité de passer par
excel-access, vu que par access on peut tout lancer sous excel.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"lecrol" a écrit dans le message de news:

Bonjour,
J'ai une appli Access et une appli Excel qui sont liées. Chacune appelle
l'autre à partir de boutons commandes, dans n'importe lequel des deux sens
et en allers et retours multiples. J'ai bien résolu le problèmes du
passage
Excel Access, dans un sens ou dans l'autre. J'utilise la fonction Vbe
stAppName = . et Call Shell(stAppName, 1)

Mais j'ai le problème que cela me recharge entièrement l'appli à chaque
appel, dans un sens ou dans l'autre La solution serait de refermer l'appli
appelante, pour ne pas avoir de multiples implantations en mémoire. Mais
c'est naze !
Comment faire pour, NON PAS charger l'appli appelée, mais simplement lui
passer la main quand elle est déjà en mémoire (après la 1e fois, dans mon
cas
!). Je voudrais automatiser, en Vbe, ce que je ferai très bien
manuellement
avec la touche Tab du clavier !

Merci de vos lumières, amigos !
ROLAND



Avatar
lecrol
Salut et merci, Raymond
Je crois que j'ai du déjà essayer une fois avec la méthode create object et
que access me la refusait Mais je vais quand même retravailler cette piste
que tu me donnes. Merci encore
Quand tu me dis " vu que par access on peut tout lancer sous excel" c'est
justement mon problème ! Là, je veux pas "lancer" une appli. Au démarrage de
ma session de travail, ça, je le fais très bien, pour la 1e demande donc et
pour "charger " l'appli appelée. Non. C'est au cours de ma session de
travail que je veux "passer la main' ou "activer" tantôt B depuis A, tantôt
A depuis B et ça plusieurs fois de suite. Je veux des allers et retours
entre ces 2 aplli déjà en mémoire et déjà ouvertes.
ça revient à automatiser en Vbe avec des boutons commande ce que je fais
tres bien avec la souris ou le clavier ! Merci encore si t'as des lumières.
ROLAND
Avatar
lecrol
Salut,
J'ai essayé avec la solution que tu m'as indiquée
ReturnValue = Shell("C:.....application_excel")
AppActivate ReturnValue

Et cela me charge, à chaque fois, une nouvelle instance Excel en mémoire !

Comment faire pour seulement "passer la main" de l'une à l'autre des deux
applis, quand elles sont déja en mémoire ?? Tha't's the question. Merci
encore à vous.

ROLAND