Remplir flexgrid sur la ligne qui suit [Résolu]

Signaler
Messages postés
15
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
18 novembre 2007
-
Messages postés
15
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
18 novembre 2007
-
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
   
End Sub

7 réponses

Messages postés
96
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
10 mars 2011
2
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.
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
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..

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
D'ailleurs, par code pour donner 9 colonnes à ton MSFlexGrid1 c'est :

MSFlexGrid1.Cols = 9
A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
15
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
18 novembre 2007

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
Messages postés
15
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
18 novembre 2007

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é
Messages postés
15
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
18 novembre 2007

DU coup peut on m'aider SVP
Merci
Messages postés
15
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
18 novembre 2007

Merci beaucoup