yestaface
Messages postés15Date d'inscriptionjeudi 6 septembre 2007StatutMembreDernière intervention18 novembre 2007
-
20 oct. 2007 à 11:36
yestaface
Messages postés15Date d'inscriptionjeudi 6 septembre 2007StatutMembreDernière intervention18 novembre 2007
-
20 oct. 2007 à 14:13
Bonjour,
voila je suis en train de developper un logiciel de suivi de travaux,
et je voulais qu' avec un MSflexgrid et une command_button remplir la flexgrid
j'arrive à remplir la flexgrid avec mon code mais je n'arrive pas à remplir la ligne qui suis
VOICI mon code, j'arrive pas à donner une nouvelle valeur à I.
Private Sub CommandButton1_Click()
'Initialisation de la MSFlexGrid1
Dim I As Integer
I = 1
For I = 1 To 40
MSFlexGrid1.Rows = 40
MSFlexGrid1.AddItem ""
'MsFlexGrid1.Col = 0
MSFlexGrid1.TextMatrix(I, 0) = I
MSFlexGrid1.TextMatrix(I, 1) = ComboBox1.Text 'Appt
MSFlexGrid1.TextMatrix(I, 2) = ComboBox3.Text 'entreprise
MSFlexGrid1.TextMatrix(I, 3) = ComboBox4.Text 'piece
MSFlexGrid1.TextMatrix(I, 4) = ComboBox5.Text 'Action
MSFlexGrid1.TextMatrix(I, 5) = ComboBox6.Text 'type_de_travaux
MSFlexGrid1.TextMatrix(I, 6) = ComboBox7.Text 'Position
MSFlexGrid1.TextMatrix(I, 7) = "( " & TextBox7.Text & " )" 'precision
MSFlexGrid1.TextMatrix(I, 8) = "non" 'fait
Next I
I = I + 1
JPGVB
Messages postés96Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention10 mars 20112 20 oct. 2007 à 14:09
Bonjour, quelques suggestions pour améliorer la lisibilité:
utilise le mot WITH, déclare ton nombre de lignes en dehors de la boucle (tu évites ainsi de répeter l'opération à chaque passage, ça gagne du temps.
Private Sub CommandButton1_Click()
'Initialisation de la MSFlexGrid1
Dim I As Integer
With MSFlexGrid1
.Cols = 9
.Rows = 40
For I = 1 To 1
.AddItem ""
.TextMatrix(I, 0) = I
.TextMatrix(I, 1) = ComboBox1.Text 'Appt
.TextMatrix(I, 2) = ComboBox3.Text 'entreprise
.TextMatrix(I, 3) = ComboBox4.Text 'piece
.TextMatrix(I, 4) = ComboBox5.Text 'Action
.TextMatrix(I, 5) = ComboBox6.Text 'type_de_travaux
.TextMatrix(I, 6) = ComboBox7.Text 'Position
.TextMatrix(I, 7) = "( " & TextBox7.Text & " )" 'precision
.TextMatrix(I, 8) = "non" 'fait
Next I
End With
End Sub
Est il utile de faire une boucle puisqu'apparamment tu ne travailles que sur une ligne à la fois?
Suggestion: limiter ton nombre de lignes à celles qui sont remplies,
donc initialement .Rows = 1 , puis à chaque click, en début de procédure
.rows=.rows+1
et à ce moment I=.rows pour te positionner sur la dernière ligne
ainsi, tu crées une nouvelle ligne que tu remplis à chaque click sur le boutton.
A voir selon la gestion globale du projet.
Bon courage.
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 20 oct. 2007 à 12:22
Salut,
Je viens de faire l'essai avec ton code et il fonctionne correctement sauf si tu n'as pas déclarer qu'il faut à ton msflexgrid1 9 colonnes (clique droits sur lui >> propriété....) ou lui ajouter les colonnes par code..
yestaface
Messages postés15Date d'inscriptionjeudi 6 septembre 2007StatutMembreDernière intervention18 novembre 2007 20 oct. 2007 à 12:26
merci beaucoup pour la rapidité
mais en fait
la ligne qui suis la ligne I, soit la ligne I+1, je n'arrive pas à la remplir quand je clique une 2ème fois dessus
effectivement il fallait déclarer 9 colonnes
billybob
Vous n’avez pas trouvé la réponse que vous recherchez ?
yestaface
Messages postés15Date d'inscriptionjeudi 6 septembre 2007StatutMembreDernière intervention18 novembre 2007 20 oct. 2007 à 12:57
Bonjour, Rectification.
je sais quel est mon erreur
j'ai mis FOR I = 1 to 40
je voulais en fait mettre 1 to 1
du coup ça ne remplis qu'une ligne, je suis désolé