FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Macro Excel travaillant sur plusieurs instances
 

Macro Excel travaillant sur plusieurs instances

Il y a 385 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Macro Excel travaillant sur plusieurs instances
 
Plus d'informations

Bonjour tout le monde,
 
Je travaille actuellement sur une macro Excel qui me permet d'importer et traiter toute une série d'information provenant d'une autre feuille excel. Jusque là rien de bien sorcier. La partie traitement tourne sans problème.
 
Le problème c'est que le fichier excel contenant les données à traiter est ouvert par un programme qui à chaque fois, démarre une nouvelle instance excel.  
Du coup, je ne sais pas comment faire. A mon avis il faut passer par du VB "pur" mais je n'ai pas les connaissances pour et, après 3 heures à chercher, je n'y arrive pas...
 
Quelques questions du coup :
- est-ce qu'on peut détecter, recenser et manipuler plusieurs instances excel simultanément, sans conflit ? si oui, comment ?
- est-ce que les objets workbooks et worksheets sont "distingables" entre les différentes instances ? si oui, comment ?
 
Je suis preneur de quelques pistes pour m'orienter dans ma recherche de solution :)
 
Merci d'avance pour votre aide,
 
Julien

zeb
Profil : Modérateur libre
Plus d'informations

Eh eh. Classique. Demande à Darkspoil. ;)

 
Citation :

est-ce qu'on peut détecter, recenser et manipuler plusieurs instances excel simultanément, sans conflit ?

Oui.

Citation :

si oui, comment ?

En VB "pur". A ma connaissance, il n'existe pas de collections des instances d'Excel.

 
Citation :

est-ce que les objets workbooks et worksheets sont "distingables" entre les différentes instances ?

Oui.

Citation :

si oui, comment ?

Oui. Si on connaît ces instances, pas de problème.

 

L'instance d'Excel en cours est pointée par l'objet Excel.Application.
Un classeur est un élément de la collection Excel.Application.Workbooks.
Un classeur connaît son application : thisWorkbook.Application.

 

Soit tu connais le nom du fichier XLS ouvert, et là, reporte-toi à ce sujet : http://www.presence-pc.com/forum/p [...] 5621-1.htm

 

Soit tu ne connais pas ce nom. Et là, c'est du VB "pur".
Utilise EnumWindows pour récupérer le handle des instances d'Excel. Puis utilise AccessibleObjectFromWindow pour en faire des objets utilisables en VB.


Message édité par zeb le 07-03-2008 à 14:08:06

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Macro Excel travaillant sur plusieurs instances
 

Annonces Google
Publicité
Les ressources relatives