Affiche une date sur " MSFlexGrid1" V.B 6

accent19811 Messages postés 149 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

Affiche une date sur " MSFlexGrid1" V.B6
Mais à condition..:

-Date doit répéter 5 fois
-Chaque fois plus 30 jours.

Voir exemple suivant..:

15/01/2012
15/02/2012
15/03/2012
15/04/2012
15/05/2012
A voir également:

4 réponses

f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

Code pour VB6 et MSFlexGrid

Private Sub Form_Load()
Dim Date_Maintenant, Date_Mois_Suivant, i

'MSFlexGrig a 2 colonnes et 6 ligne (Titre + 5 mois)
Me.MSFlexGrid1.Clear
Me.MSFlexGrid1.Cols = 2
MSFlexGrid1.Rows = 6

Date_Maintenant = Now
Date_Mois_Suivant = Date_Maintenant

' Ecriture du titre Colonne1
MSFlexGrid1.Col = 1
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "Date"

'Ecriture Date Aujourd'hui Colonne1
MSFlexGrid1.Col = 1
MSFlexGrid1.Row = 1
MSFlexGrid1.Text = Format(Date_Mois_Suivant, "DD/MM/YYYY")

'ecriture quatre mois suivants
For i = 2 To 5
Date_Mois_Suivant = Format(DateAdd("m", 1, Date_Mois_Suivant), "dd/mm/yyyy")
MSFlexGrid1.Col = 1
MSFlexGrid1.Row = i
MSFlexGrid1.Text = Format(Date_Mois_Suivant, "DD/MM/YYYY")
Next i

End Sub
1
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour, bonjour f894009
Tu pourrais avantageusement remplacer les sélections Row et col
    MSFlexGrid1.Col = 1   
    MSFlexGrid1.Row = 0   
    MSFlexGrid1.Text = "Date"

par
    With MSFlexGrid1  
        .TextMatrix(0, 1) = "Date"  
        '....  
    End With

A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour Lermite et bonne annee

Merci pour le tuyau, car je n'utilise pas souvent de MSFlexgrid ou MSHFlexgrid en VB6 a cause de la lenteur de remplissage si le nombre de ligne est un peu consequent, je prefere un Listview.

Merci encore
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Merci et bonne année à toi aussi et à tout les tiens.
Et, je connais bien ces contrôles.
0
accent19811 Messages postés 149 Statut Membre
 
Merci mon ami pour votre aide
Mais aide-moi autre fois Svp
Répondez-moi
Pour sujet...:
Affiche une date + NUM + Prix sur " MSFlexGrid1" V.B6
Mais à condition..:

-Date doit répéter 5 fois
-Chaque fois plus 30 jours.

Voir exemple suivant..:

01---- 15/01/2012----500.00
02---- 15/02/2012----500.00
03---- 15/03/2012----500.00
04---- 15/04/2012----500.00
05---- 15/05/2012----500.00
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Re,
Une autre façon de faire..
Private Sub Form_Load()
Dim i As Integer, e As Integer, N As Integer
Dim M As Byte, A As Integer, J As Byte
    M = Month(Date): A = Year(Date): J = Day(Date)
    With MSFlexGrid1
        .Clear
        .Cols = 5: .Rows = 200
        .TextMatrix(0, 0) = "N°"
        .TextMatrix(0, 1) = "Date"
        .TextMatrix(0, 2) = "Total"
        For e = 0 To 3
            For i = 1 To 5
                N = e * 5 + i
                .TextMatrix(N, 0) = Format(N, "00#")
                .TextMatrix(N, 1) = DateSerial(A, M, J)
                .TextMatrix(N, 2) = 500
                M = M + 1: If M > 12 Then M = 1: A = A + 1
            Next i
            J = J + 1: If J > 30 Then J = 1: M = M + 1
            If M > 12 Then M = 1: A = A + 1
        Next e
    End With
End Sub
A+
0