cs_Fleur54
Messages postés6Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention13 février 2004
-
11 févr. 2004 à 15:09
cs_sylvain75
Messages postés2Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention12 février 2004
-
12 févr. 2004 à 08:01
bonjour
je dois crée un tableau sous msflex grid mais je ne sais pas remplir les cases internes. ce que je veux c'est que les cases soient égales à la somme des entetes de ligne et de colonnes.
Pour ce faire j'ai élaboré un petit test qui ne marche pas pour essayer de trouver la solution. Ce petit prog ne calcule pas les bonnes choses.
Public Sub fillcells()
For colcounter = 1 To 3 Step 1
essai.Col = colcounter
For rowcounter = 1 To 3 Step 1
essai.Row = rowcounter
essai.Text = essai.Row + essai.Col
Next rowcounter
Next colcounter
End Sub
ainsi dans la premiere cellule de la colonne il devrait mettre 17 alors qu'il affiche 17. Moi je voudrais pouvoir calucler les valeurs des cellules sans le faire manuellement car en réalité j'ai un tableau de 9990 valeurs.
cs_sylvain75
Messages postés2Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention12 février 2004 11 févr. 2004 à 18:38
Salut Fleur54
une solution que j'ai testée qui doit correspondre à ton pb
Private Sub Form_Load()
essai.Row = 0
essai.Col = 1
essai.Text = 13
essai.Col = 2
essai.Text = 14
essai.Col = 3
essai.Text = 15
Public Sub fillcells()
For colcounter = 1 To 3
essai.Col = colcounter
For rowcounter = 1 To 3
essai.Row = rowcounter
essai.Text = Val(essai.TextMatrix(0, colcounter)) + Val(essai.TextMatrix(rowcounter, 0))
Next rowcounter
Next colcounter
End Sub
cs_sylvain75
Messages postés2Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention12 février 2004 12 févr. 2004 à 08:01
Salut Fleur54
Effectivement Val ne convertit pas les nombre décimaux, donc il faut utiliser la fonction CDBL. attention il ne faut pas avoir de colonnes vides. J'ai modifié ta technique de remplissage de tableau qui me semble un peu fastidieuse
Salut et bon courage
Sylvain75
Option Explicit
Dim u As Double
Dim v As Double
Dim x As String
Dim f_x As String
Dim a(8), i As Double
Private Sub form_load()
Dim i As Integer
'initialisation des valeurs v
tbl.Row = 0
For i = 1 To 9
tbl.Col = i
tbl.Text = i / 1000
Next i
'initialisation des valeurs u
tbl.Col = 0
For i = 1 To 100
tbl.Row = i
tbl.Text = (i - 1) / 100
Next i
'affichage du tableau
For i = 1 To 8
List1.AddItem a(i)
Next i
FillCells
End Sub
Private Sub CmdClick_Click()
'calculer et afficher f(x)
For u = 0 To 1 Step 0.01
For v = 0.001 To 0.01 Step 0.001
x = u + v
x = Round(x, 3)
List2.AddItem x
f_x = (((((((((((((((a(8) * x) + a(7)) * x) + a(6)) * x) + a(5)) * x) + a(4)) * x) + a(3)) * x) + a(2)) * x) + a(1)) * x) + 1
f_x = Round(f_x, 6)
List3.AddItem f_x
Next v
Next u
End Sub
Private Sub FillCells()
Dim RowCounter
Dim ColCounter
For ColCounter = 1 To 9 Step 1
tbl.Col = ColCounter
For RowCounter = 1 To 100 Step 1
tbl.Row = RowCounter
tbl.Text = (CDbl(tbl.TextMatrix(0, ColCounter))) + (CDbl(tbl.TextMatrix(RowCounter, 0)))
Next RowCounter
Next ColCounter
End Sub