ouvrir 2 fichier excel dans la meme session

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
IsLaMalice
Niveau 4
Niveau 4
Messages : 50
Enregistré le : lun. 03 avr. 2017 23:31
Status : Hors ligne

ouvrir 2 fichier excel dans la meme session

#1

Message par IsLaMalice »

Bonjour,

J'ai besoin de charger 2 excel, puis de copier un onglet data dans l'autre fichier.
ils doivent donc etre dans la meme session (je passe de autoit , a du VBA).

j'utilise les fonctions suivantes :

Code : Tout sélectionner

; démarrage
$vers_excel="Excel non détecté"
$path_excel="C:\Program Files (x86)\MsOffice\Office14\EXCEL.exe"
If FileExists($path_excel) Then
	$vers_excel="Office2010"
Else
	$path_excel="C:\Program Files (x86)\Microsoft Office 2016\Office16\EXCEL.exe"
	If FileExists($path_excel) Then
		$vers_excel="Office2016"
	Else
		If MsgBox(4,"!","Excel introuvalble ! Voulez vous continuer ?")=7 then Exit
	Endif
EndIf

Code : Tout sélectionner

$path=@ScriptDir &"\excel1.xlsm"
While Not FileExists($path)
	$path = Inputbox("Fichier Excel principal introuvable", "Veuillez rentrer le chemin complet",$path)
Wend
Run($path_excel & " " & $path)

Run($path_excel & " " & @TempDir &"\"& $excel2 & ".xls")
mais forcément je lance 2 process excel différents, rendant la copie d'onglet en VBA impossible.

help !
Islamalice


je n'utilise (pas encore) l'include sur excel (faut d'avoir compris la différence en open et openbook)
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: ouvrir 2 fichier excel dans la meme session

#2

Message par walkson »

Bonjour,
Sorti tout droit de l'aide
#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Crée un objet application et ouvre un classeur exemple
Local $oAppl = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Example", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Ouvre le classeur 2
Local $oWorkbook2 = _Excel_BookOpen($oAppl, @ScriptDir & "\Extras\_Excel3.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Example", "Error opening workbook '" & @ScriptDir & "\Extras\_Excel3.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oAppl)
    Exit
EndIf
; Ouvre le classeur 1
Local $oWorkbook1 = _Excel_BookOpen($oAppl, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Example", "Error opening workbook '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oAppl)
    Exit
EndIf

; ************************************************** ***************************
; Copie la feuille 3 du classeur 1 après la feuille 3 du classeur 2
; ************************************************** ***************************
_Excel_SheetCopyMove($oWorkbook1, 3, $oWorkbook2, 3, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Example 3", "Error copying sheet." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Example 3", "Workbook 1 Sheet 3 copied to Workbook2 after sheet 3")
_Excel_Open() crée l'objet Excel (vide)
_Excel_BookOpen() ouvre un classeur
Pour manipuler Excel, il faut d'abord créer l'objet puis ouvrir une feuille
Vous devriez regarder ici Tuto sur Excel
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
IsLaMalice
Niveau 4
Niveau 4
Messages : 50
Enregistré le : lun. 03 avr. 2017 23:31
Status : Hors ligne

Re: ouvrir 2 fichier excel dans la meme session

#3

Message par IsLaMalice »

toujours pas eu le temps de tester... (car ce n'est pas bloquant)...
y'a pas moyen en batch de reutiliser une même instance ?

genre avec /cmd/ ?


c'est marrant, sur le net, en recherchant "même instance sous excel' : les utiliseurs classiques (qui cliquent sur un .xls), cherchent tous a avoir 2 instances... moi c'est l'inverse !


faudra que je me resigne a comprendre l'include excel...
Répondre