Page 1 sur 1

[R] Ecrire un Tableau sur un fichier XLS

Posté : mer. 09 nov. 2011 22:51
par Yle
Bonsoir,

Il existe un UDF qui s'appelle : _FileWriteFromArray2D.au3 mais le fichier que cet UDF écrit est en format TXT...
Existe t-il un UDF qui transfère un tableau 2D sur un VRAI format XLS ?

► Afficher le texte

Re: [..] Ecrire un Tableau sur un fichier XLS

Posté : jeu. 10 nov. 2011 02:18
par jchd
Euh et dans l'UDF ... TADA ! ... Excel ?
_ExcelWriteArray() par exemple ?

F1, très souvent, F1 : c'est là que ça se passe.

Re: [..] Ecrire un Tableau sur un fichier XLS

Posté : jeu. 10 nov. 2011 22:34
par Yle
J'avais vu mais cette fonction ne gére pas un tableau à 2 Dimensions.

Merci quand même

Re: [..] Ecrire un Tableau sur un fichier XLS

Posté : jeu. 10 nov. 2011 23:31
par mikell
Yle a écrit :J'avais vu mais cette fonction ne gére pas un tableau à 2 Dimensions.
Ben faut se débrouiller pour qu'elle le fasse quand même...

Code : Tout sélectionner

#include <Excel.au3>

Local $oExcel = _ExcelBookNew()
Dim $Class[19][2]=[["18","18"],["1N","01"],["1P","02"],["1C","03"],["1K","04"],["1T","05"],["2P","06"],["2C","07"],["2K","08"],["2T","09"],["3P","10"],["3C","11"],["3K","12"],["3T","13"],["4P","14"],["4C","15"],["4K","16"],["4T","17"],["NC","18"]]
Dim $ca[UBound($Class)]
Dim $cb[UBound($Class)]
For $i = 0 To UBound($Class)-1
$ca[$i] = $Class[$i][0]
$cb[$i] = $Class[$i][1]
Next
_ExcelWriteArray($oExcel, 1, 1, $ca, 1)
_ExcelWriteArray($oExcel, 1, 2, $cb, 1)

Re: [R] Ecrire un Tableau sur un fichier XLS

Posté : jeu. 10 nov. 2011 23:46
par Yle
Effectivement... Bien vu ! Je dirais "Résolu"

Re: [R] Ecrire un Tableau sur un fichier XLS

Posté : jeu. 10 nov. 2011 23:55
par mikell
Ah mais j'ai mieux, une vraie UDF perso, un peu bricolée mais bon.... :mrgreen:

Code : Tout sélectionner

#include <Excel.au3>

Local $oExcel = _ExcelBookNew()
Dim $Class[19][2]=[["18","18"],["1N","01"],["1P","02"],["1C","03"],["1K","04"],["1T","05"],["2P","06"],["2C","07"],["2K","08"],["2T","09"],["3P","10"],["3C","11"],["3K","12"],["3T","13"],["4P","14"],["4C","15"],["4K","16"],["4T","17"],["NC","18"]]

_Array2DToExcel($Class)

Func _Array2DToExcel($array)
For $i = 0 To UBound($array)-1
    For $j = 0 To UBound($array, 2)-1
        _ExcelWriteCell($oExcel, $array[$i][$j], $i+1, $j+1)
    Next
Next
EndFunc