Page 1 sur 1

[R] Excel : compilation d'onglets dans un autre onglet

Posté : lun. 21 juil. 2014 11:47
par GhostLine
Salut à tous !

Allez, encore une galère pour bibi :) Suite à mise en place d'un fichier de coordonnées par région dans ma boite, je dois copier le troisième onglet de chaque fichier dans un fichier général (fait), et compiler toutes ces données dans le premier onglet de ce fichier général. Et c'est là que je rame ... Une bonne âme pour m'aider ?

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
Merci par avance !

Re: [..] Compilation d'onglets dans un autre onglet

Posté : lun. 21 juil. 2014 11:47
par GhostLine
Merci pour l'edit, je me préparais à le faire :)

Re: [..] Excel : compilation d'onglets dans un autre onglet

Posté : lun. 21 juil. 2014 13:24
par GhostLine
Au départ, j'avais pensé à stocker le contenu de tous mes onglets dans une grande array 2d, mais ...

Re: [..] Excel : compilation d'onglets dans un autre onglet

Posté : ven. 25 juil. 2014 15:05
par GhostLine
Et voilà !

Quick and dirty, mais ca fonctionne !

Code : Tout sélectionner

#include <Array.au3>
#include <Excel.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>

Local $chem_imp = "C:\Users\ghost.line\Documents\AutoIt\TecReg\Import\"
Local $oAppl = _Excel_Open(False)
Dim $sResult[1][106]

$liste_fichiers = _FileListToArray($chem_imp, Default, Default, True)

For $i = 1 To $liste_fichiers[0]
    $test = $liste_fichiers[$i]
    Local $oWorkbook = _Excel_BookOpen($oAppl, $test, False, False)
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeRead Example", "Error opening workbook '" & $test & "." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
        _Excel_Close($oAppl)
        Exit
    EndIf
    Local $sArray = _Excel_RangeRead($oWorkbook, 2, "A2:CZ65")
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeRead Example 1", "Error reading from workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    If $i <> 1 Then ReDim $sResult[UBound($sResult) + UBound($sArray)][104]
    _ArrayAdd($sResult, $sArray)
Next
_ArrayDisplay($sResult)