gon_ak
Messages postés197Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention17 novembre 2006
-
10 nov. 2006 à 13:13
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
13 nov. 2006 à 19:00
Rebonjour,
Voilà je n'arrive pas à affecter les données que je récupère de mon morceau de script dans un tableau (ex: Product()). Car en fait ce tableau je vais l'utiliser pour tracer des graphes. Auriez-vous la gentillesse de bien vouloir m'aidez SVP.
Merci d'avance.
If frmShiftReport.Adodc1.Recordset.RecordCount > 1 Then
MSFlexGrid1.Rows = MSFlex_Rows
ij = 1
frmShiftReport.Adodc1.Recordset.MoveFirst
Do While Not frmShiftReport.Adodc1.Recordset.EOF
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 11 nov. 2006 à 00:45
Je ne comprend pas vraiment ce que tu veux faire (?)
Mais si tu veux créer un tableau à partir de ce code ou à partir de ce
que tu écris dans la grille, tu peux affecter les données au tableau au
fur et à mesure que tu charges ta grille (ou que tu lis les
enregistrements...)
Ça pourrait être fait en une séquence, une fois la grille remplie, mais
bon, allons-y durant le remplissage. (Prend note que je n'ai pas
testé...)
Au début
Dim Product() 'ton tableau
Dim PositionTableau as integer 'Index du dernier élément du tableau plus 1
Redim Preserve Product(UBound(Product) + 6) 'alloue 6 espaces de plus au tableau
For i = 0 to 5 'si la grille contient 6 colonnes
product(PositionTableau + i) = MSFlexGrid1.TextMatrix(ij, i) 'copie des cellules
Next
frmShiftReport.Adodc1.Recordset.MoveNext
ij = ij + 1
Loop
Si j'ai mal compris le problème, n'hésite pas à ajouter des précisions
quant aux "données récupérées par ton script" et que tu veux mettre
dans un tableau.
gon_ak
Messages postés197Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention17 novembre 2006 13 nov. 2006 à 09:02
Bonjour MPI,
En fait ce que je fais c'est d'écrire directement dans la grille., Et mon but est de pouvoir recopier chaque colonnes de ma grille dans un tableau. 2tant donné que j'ai 6 colonnes c'est recopier les 6 colonnes dans le tableau Product().
Par rapport à ton script je ne comprend pas cette ligne:
product(PositionTableau + i) = MSFlexGrid1.TextMatrix(ij, i)
Est-ce-que le tableau est à une dimension???????
Parce qu'après je veux représenter graphiquement par exemple la colonne 1 avec la colonne 2:
Product (i,1)= Time
Product(i,2)= Format(KmLgth, "##,##0.00")
mscProdGraphic.Chardata= Product()
Mais apparemment les indices ne se correspondent pas: Erreur = Indice en dehors de la plage
Alors ma question est celle-ci: Si ton script permet de recopier tous ce j'ai dans ma grille dans un tableau alors comment je peux définir dans mon tableau les colonnes que je veux représenter graphiquement?
gon_ak
Messages postés197Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention17 novembre 2006 13 nov. 2006 à 13:56
J'ai pu définir toutes les colonnes de mon tableau mais je n'arrive pas à représenter graphiquement ma colonne 1 en fonction de la colonne 2
For i = 1 to ubound(Product) step 6
msgbox "Date: " & Product(i)
next i
For j = 2 to ubound(Product) step 6
msgbox "ShiftKm: " & Product(j)
next j
Comment représenter Product(i) en fonction de Product(j) avec le ChartData. Franchement je découvre les tableaux dynamiques mais je ne pensais que ça allais être aussi compliquer que ça!
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 13 nov. 2006 à 19:00
Je ne connais pas le ChartData...
Est-ce que ça lui prend un tableau à 2 dimensions nécessairement ?
Est-ce que 2 tableaux seraient mieux ou faisable ?
Est-ce que tu peux utiliser le même tableau 2 fois en allanat chercher les valeurs d'autres colonnes ?
Comme tu peux voir, je n'y connais pas grand chose...
Si ça te prend absolument un tableau à 2 dimensions, il faudrait peut-être le créer une fois la grille remplie plutôt qu'au fur et à mesure et choisir, par le fait même, les colonnes dont tu auras besoin.
Dim Tablo()
Dim Lignes As Long, Colonnes As Integer
' Il ne reste qu'à le remplir avec une double-boucle
for i = 0 to MaGrille.Rows -1
for J= 0 to MaGrille.Cols -1
Tablo(I, J) = MaGrille.TextMatrix(I, J)
next
next