ouverture multi applis excel

ouverture multi applis excel - VB/VBA/VBS - Programmation

Marsh Posté le 24-06-2007 à 21:21:25    

Bonjour,
 
Mon problème est le suivant :
je souhaiterais trouver un moyen (VBS avec excel de fermé ou VBA avec excel d'ouvert) d'ouvrir 2 applis excel différentes avec leur macros (auto-open ou à lancer) respectives, ceci afin de faire fonctionner deux macros qui font leur boulot indépendamment l'une de l'autre, mais en même temps.
En résumé : un dble-click sur un VBS ou simple click (bouton sous excel) me lance deux applis excel avec dans chaque appli sa propre macro qui s'est lancée.
 
J'ai cherché tout l'après-midi et là je sature.
 
En VBS j'ai fait ceci :
 
'--------------------------------------------------
1 Set obexcelapp = CreateObject("excel.application" )
2 obexcelapp.application.Visible = True
3 obexcelapp.workbooks.Open ("F:\File_1.xls" )
4 obexcelapp.Application.Run("auto_open" )
'--------------------------------------------------
5 Set obexcelapp = CreateObject("excel.application" )
6 obexcelapp.application.Visible = True
7 obexcelapp.workbooks.Open ("F:\File_2.xls" )
8 obexcelapp.Application.Run("auto_open" )
'--------------------------------------------------
 
Et ça ne fait pas ce que je veux.  :pfff:  
Car ça passe à la ligne 5 uniquement quand la macro lancée en ligne 3 a fini.
Je croyais que le VBS se fichait de savoir si la macro lancée en 3 avait fini ou pas, que désormais c'était le problème de excel (une sorte de transfert de tâche, "tiens toi je te dis de faire ça, maintenant tu te débrouilles, moi je passe à autre chose" )  et que donc il passait à ce qui suivait, mais non, il attend que la macro ait fini..  :cry:  
 
Donc si vous avez la solution .. merci  :wahoo:  

Reply

Marsh Posté le 24-06-2007 à 21:21:25   

Reply

Marsh Posté le 24-06-2007 à 21:28:33    

il faut pas faire un petit New quelque part ?

Reply

Marsh Posté le 24-06-2007 à 22:40:33    

c'est-à-dire ??
en fait je ne suis pas un expert en prog, je fais juste quelques trucs.
donc il y a beaucoup de choses que je ne connais pas.

Reply

Marsh Posté le 25-06-2007 à 20:50:58    

c'est dingue ça, jamais personne n'a réponse à mes questions, moi qui me croyais bas dans l'échelle des programmeurs

Reply

Marsh Posté le 25-06-2007 à 22:40:27    

fais un objexcel1 et un objexcel2, ca supprime tes pb en principe ;)
 
 
 

Reply

Marsh Posté le 27-06-2007 à 15:58:03    

j'ai fait :  
 
'--------------------------------------------------
Set obexcelapp1 = CreateObject("excel.application" )    
obexcelapp1.application.Visible = True  
obexcelapp1.workbooks.Open ("fichier1.xls" )
obexcelapp1.Application.Run("auto_open" )
'--------------------------------------------------
Set obexcelapp2 = CreateObject("excel.application" )    
obexcelapp2.application.Visible = True  
obexcelapp2.workbooks.Open ("fichier2.xls" )
obexcelapp2.Application.Run("auto_open" )
'--------------------------------------------------
 
et c'est toujours le même problème, ça passe à la deuxième appli et donc à la deuxième macro uniquement quand la première macro a fini son job.
vais-je vraiment devoir faire 2 vbs séparés ?
n'existe-t-il donc aucun moyen de lancer deux macros pour qu'elles tournent en parallèlle  l'une en même temps que l'autre ?

Reply

Marsh Posté le 29-06-2007 à 16:36:19    

speedest a écrit :

j'ai fait :  
 
'--------------------------------------------------
Set obexcelapp1 = CreateObject("excel.application" )    
obexcelapp1.application.Visible = True  
obexcelapp1.workbooks.Open ("fichier1.xls" )
obexcelapp1.Application.Run("auto_open" )
'--------------------------------------------------
Set obexcelapp2 = CreateObject("excel.application" )    
obexcelapp2.application.Visible = True  
obexcelapp2.workbooks.Open ("fichier2.xls" )
obexcelapp2.Application.Run("auto_open" )
'--------------------------------------------------
 
et c'est toujours le même problème, ça passe à la deuxième appli et donc à la deuxième macro uniquement quand la première macro a fini son job.
vais-je vraiment devoir faire 2 vbs séparés ?
n'existe-t-il donc aucun moyen de lancer deux macros pour qu'elles tournent en parallèlle  l'une en même temps que l'autre ?


Pas si les fonctions/procédures que tu utilises sont en mode synchrone (elle passe à la ligne suivante une fois l'execution finie).
Et c'est le cas ici..

Reply

Marsh Posté le 01-07-2007 à 21:31:02    

Petite lacune d'excel alors dirons-nous..

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed