Allez, encore une galère pour bibi
Edit : reformulation : je veux fusionner le contenu de tous les onglets à partir du second d'un tableau Excel dans le premier onglet. Je pense que c'est plus clair
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Excel.au3>
#include <array.au3>
#include <File.au3>
$chem_img = @ScriptDir & "\images\"
$chem_imp = @ScriptDir & "\import\"
Local $filimp, $i
Local $oAppl = _Excel_Open(False)
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("TecReg 0.1 Ghost Line - 2014", 600, 170, 492, 387)
GUISetBkColor(0xFFFFFF)
$Label1 = GUICtrlCreateLabel("Intégration des nouveaux fichiers régionaux au fichier global", 56, 56, 397, 23)
GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
GUICtrlSetColor(-1, 0x000000)
$Label2 = GUICtrlCreateLabel("Recherche de nouveaux fichiers régionaux", 56, 16, 278, 23)
GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
GUICtrlSetColor(-1, 0x000000)
$Label3 = GUICtrlCreateLabel("Compilation des fichiers régionaux", 56, 96, 205, 23)
GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
GUICtrlSetColor(-1, 0x000000)
$Label4 = GUICtrlCreateLabel("Recherche et intégration des nouveaux clients", 56, 136, 215, 23)
GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
GUICtrlSetColor(-1, 0x000000)
$Pic1 = GUICtrlCreatePic($chem_img & "blanc.jpg", 8, 8, 32, 32)
$Pic2 = GUICtrlCreatePic($chem_img & "blanc.jpg", 8, 48, 32, 32)
$Pic3 = GUICtrlCreatePic($chem_img & "blanc.jpg", 8, 88, 32, 32)
$Pic4 = GUICtrlCreatePic($chem_img & "blanc.jpg", 8, 128, 32, 32)
$Val = GUICtrlCreateButton("Lancer", 480, 8, 113, 153)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Val
;~ on commence par vérifier s'il y a des fichiers en attente d'intégration
GUICtrlSetImage($Pic1, $chem_img & "encours.jpg")
If FileFindFirstFile($chem_imp & "*.*") = -1 Then
GUICtrlSetImage($Pic1, $chem_img & "nok.jpg")
MsgBox(0, "", "Aucun fichier à intégrer : fin du traitement.")
ExitLoop (2)
EndIf
;~ si c'est le cas, on backup le fichier de compilation, on l'efface et on recopie le vierge
FileCopy(@ScriptDir & "\DUPLI LOGICIEL.xls", @ScriptDir & "\BackUp\DUPLI LOGICIEL_" & @MDAY & @MON & @YEAR & ".xls")
FileDelete(@ScriptDir & "\DUPLI LOGICIEL.xls")
FileCopy(@ScriptDir & "\DUPLI LOGICIEL - Original.xls", @ScriptDir & "\DUPLI LOGICIEL.xls")
GUICtrlSetImage($Pic1, $chem_img & "ok.jpg")
GUICtrlSetImage($Pic2, $chem_img & "encours.jpg")
$ori_exc = _Excel_BookOpen($oAppl, @ScriptDir & "\DUPLI LOGICIEL.xls")
$filimp = _FileListToArray($chem_imp)
For $i = 1 To $filimp[0]
$temp_excel = _Excel_BookOpen($oAppl, $chem_imp & $filimp[$i])
_Excel_SheetCopyMove($temp_excel, 2, $ori_exc, $i + 1)
_Excel_BookClose($temp_excel)
Next
GUICtrlSetImage($Pic2, $chem_img & "ok.jpg")
;~ on compile les informations de chaque onglet dans le premier onglet
For $i = 1 To $filimp[0]
Local $oExcel = _Excel_BookOpen($oAppl, $chem_imp & $filimp[$i], 0)
Local $oRange = $oExcel.Worksheets(2).Range("A2:CZ57")
_Excel_RangeCopyPaste($oExcel, $oRange, Default)
_Excel_BookClose($oExcel)
Next
_Excel_BookClose($ori_exc)
_Excel_Close($oAppl)
EndSwitch
WEnd
