"activer" fichier ouvert sur excel de word

fredl

XLDnaute Impliqué
Bonjour à tous,
Apres recherche (en vain) dans le forum....Je me permet de vous poser cette question:

je souhaite lancer une macro d'un fichier word qui irait récupérer les données dans une cellule du seul fichier ouvert sur Excel

(macro dans un fichier word)
sub recupInfoDansExcel
Dim Vnom as string
Vnom = Workbooks("Nouvel arrivant.xls").Sheets("Feuil1").Range("A1").Value

N'étant pas dans Excel, la macro bugge....
Comment faire pour éviter ce problème....
Activer Excel? (Application.excel.activate) ne marche pas...

Merci pour vos propositions....

Cordialement

Frédéric
 

fredl

XLDnaute Impliqué
Re : "activer" fichier ouvert sur excel de word

Merci pour ta réponse rapide,
Il a déjà été ouvert par l'utilisateur(pas par une macro), et je souhaite qu'il ne contienne aucune macro.
La macro principale étant contenue dans le fichier word...


Merci de ta réponse "tototiti2008"
Frédéric
 

tototiti2008

XLDnaute Barbatruc
Re : "activer" fichier ouvert sur excel de word

une discussion analogue entre 2 Excel, mais je crois que la problématique est la même qu'entre Word et Excel.

https://www.excel-downloads.com/thr...e-excel-dans-une-autre-instance-excel.105330/

Personnellement, si les applications sont déjà ouvertes par l'utilisateur, je suis incapable de prendre la main dessus. Peut-être le Grand Dieu MichelXLD du VBA entre tous, (que son Nom soit sanctifié :)) ou un de ses disciples sait le faire, mais personnellement, le mieux que j'ai jamais réussi à faire est de "savoir si un Excel est déjà ouvert ou pas". Après pour prendre la main dessus...
 

fredl

XLDnaute Impliqué
Re : "activer" fichier ouvert sur excel de word

Merci pour ta réponse,
J'ai donc testé:(avec les valeurs de 1 à 6 pour la fonction Shell)
ReturnValue = Shell("C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE", 1) ' Exécute Microsoft Excel.
AppActivate ReturnValue ' Active Microsoft Excel.

En fait, elle lance et active une nouvelle instance Excel et non pas celle qui était déjà ouverte...
L'idéal serait de pouvoir récupérer la valeur "returnValue" de l'instance déjà ouverte et active r cette instance Excel avec AppActivate...
J'ai cherché un peu...pas trouvé....

Merci en tous les cas pour tes conseils.

Si quelqu'un a une idée...

Merci à tous
Frédéric.
 

tototiti2008

XLDnaute Barbatruc
Re : "activer" fichier ouvert sur excel de word

Comme dans l'autre discussion (lien dans mon dernier poste), pour activer Excel, c'est simple :

AppActivate "Nouvel arrivant.xls"

seulement après ça je n'arrive pas du tout à le contrôler, ce que j'appelle "prendre la main dessus", et je ne sais pas si c'est possible de le faire.
 

MichelXld

XLDnaute Barbatruc
Re : "activer" fichier ouvert sur excel de word

Bonsoir,


Si le classeur est déjà ouvert, tu peux utiliser :

Code:
Dim xlApp As Object

Set xlApp = GetObject(, "Excel.Application")

MsgBox xlApp.Workbooks("Nouvel arrivant.xls"). _
    workSheets("Feuil1").Range("A1").Value



bon week end
michel
Microsoft Excel MVP
 

fredl

XLDnaute Impliqué
Re : "activer" fichier ouvert sur excel de word

WOUAOUOUOUHHHHHHH!!!!!!!!!!!!!!
EE-XE-LENT!!!!!!!!!!!!
Michel, tu viens de me "sauver"!
C'est parfait!!!!!!!
Un GRAND merci à toi et à "tototiti2008" qui a bien voulu perdre un peu de son temps pour moi.

Bref Merci à vous deux!

Bonne journée.

Frédéric
 

Discussions similaires

Réponses
36
Affichages
2 K

Statistiques des forums

Discussions
312 510
Messages
2 089 147
Membres
104 050
dernier inscrit
Pepito93100