[R] Problème avec _ExcelWriteSheetFromArray

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Ladygeek
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 20 oct. 2010 19:32
Localisation : CANADA
Status : Hors ligne

[R] Problème avec _ExcelWriteSheetFromArray

#1

Message par Ladygeek »

Salut,
Apres avoir parcouru le forum j'ai vu toutes sortes de manipulations avec Excel mais ce que je veux savoir se rapporte à exporter des valeurs d'un tableau vers une feuille excel. En fait, ma question est:
Est-ce qu'on peut utiliser une variable comme dimension d'un tableau?
exemple on considere que la variable "$nbitems" s'incremente ailleurs dans le programme avant d'arriver a cette fonction:

Code : Tout sélectionner

func Exportexcel()
    Local $Excelarray[$nbitem][3]
    $book = _ExcelBookNew()   ;ouvre une feuille excel

    for $x = 0 to $nbitem
        $Excelarray[$x]= [$machin1, $machin2, $machin3]  ;Je veux ces 3 resultats à la position x
    Next
    _ExcelWriteSheetFromArray($book, $Excelarray, 1, 1, 0, 0)   
    MsgBox(0, "Press OK to Save File")
            _ExcelBookSaveAs($book, @TempDir & "\Temp.xls", "xls", 0, 1)  ;sauvegarde dans le repertoire temporaire

EndFunc
Je suis sure qu'il y a des erreurs inimaginables dans ce code, mais bon j'ai un peu essayé de tricher vu que en Autoit il n'ya pas de tableau dynamique.
Alors n'hesitez pas à me proposer d'autres facons de faire s.v.p.
Merci d'avance

Signé: "the new one"
Modifié en dernier par Ladygeek le ven. 22 oct. 2010 21:25, modifié 1 fois.
Ne jamais sous-estimer les plus petits...
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Problème avec _ExcelWriteSheetFromArray

#2

Message par bloodwolff »

Sa aurais été si simple à tester :wink:

Code : Tout sélectionner

$var=2
dim $tableau[$var]
$var=10
For $i=0 To 9
    $tableau[$i]=1
Next
MsgBox(0,"","Oui on peut")
Si tu le test tu verra que sa donne une jolie erreur :(

On peut toujours recréer se servir d'une fonction qui recrée un deuxième tableau avant de l'utiliser

Sinon je reste un gros débutant il doit y avoir de meilleur solution

Code : Tout sélectionner

Func GrossirTableau($tableau,$variable)
    Dim $tableau2[$variable]
    For $i=0 to UBound($tableau)-1
        $tableau2[$i]=$tableau[$i]
    Next
Return $tableau2
EndFunc
C'est pour 1 tableau à 1 dimension mais le principe reste le même pour plusieurs

Ps:Ne t'étonne pas si la fonction à une erreur je vien de la faire et je ne l'ai pas testé
Compte skype : bloodwolfff
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Problème avec _ExcelWriteSheetFromArray

#3

Message par Tlem »

Pour créer un tableau 'dynamique', il y a tout simplement :

- Redim.
The ReDim keyword is similar to Dim, except that ReDim preserves the values in the array instead of removing the values while resizing an array. The number of dimensions must remain the same

- _ArrayAdd.
Adds a specified value at the end of an existing array.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Ladygeek
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 20 oct. 2010 19:32
Localisation : CANADA
Status : Hors ligne

[R] Problème avec _ExcelWriteSheetFromArray

#4

Message par Ladygeek »

@bloodwolff, La redimension du tableau j'avoue que je n'y avais pas pensé.. :oops: lol
@Tlem, le ReDim simplifierait vraiment la vie je savais meme pas que ca existait... :o
Merci guys!!
Ne jamais sous-estimer les plus petits...
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Problème avec _ExcelWriteSheetFromArray

#5

Message par bloodwolff »

Moi non plus , je prend en note :D
Compte skype : bloodwolfff
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Problème avec _ExcelWriteSheetFromArray

#6

Message par Tlem »

N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Ladygeek
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 20 oct. 2010 19:32
Localisation : CANADA
Status : Hors ligne

[R] Problème avec _ExcelWriteSheetFromArray

#7

Message par Ladygeek »

Merci
Ne jamais sous-estimer les plus petits...
Répondre