Colorier MsFlexGrid [Résolu]

Sinsitrus 863 Messages postés samedi 11 juin 2005Date d'inscription 21 août 2015 Dernière intervention - 15 avril 2010 à 15:12 - Dernière réponse : Sinsitrus 863 Messages postés samedi 11 juin 2005Date d'inscription 21 août 2015 Dernière intervention
- 25 mars 2011 à 12:41
Salut !

Y a t-il un moyen de colorier une colonne précise d'un MsFlexGrid ?
Si oui lequel ?

Merci

----------
OS : Windows XP SP3 et Vista 32
Platforme : VB 6.0 + SP6
Ok VB6.0 c'est pas net !
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 15 avril 2010 à 18:28
3
Merci
Salut,

Si, c'est exactement ce que je te disais : tu parcoure tes cellules une à une (For i 0 To .Rows - 1) et tu les colorie (.CellBackColor RGB(237, 240, 247)).

Pour le redraw :
With Tablo
.Redraw = false
.Col = Text1
For i = 0 To .Rows - 1
.Row = i
.CellBackColor = RGB(237, 240, 247)
Next i
.Redraw = true
End With


Pourquoi faire cà ? Tout simplement que si tu ne fais pas cà, il va rafraichir ta grille à chaque modification du cellbackcolor !
Donc si tu as 10000 lignes, il va faire 10000 refresh du tableau pour rien (seul le dernier refresh est important), et vu que c'est le refresh qui prend le plus de temps, tu vas faire écrouler les performances...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Meilleure réponse
Sinsitrus 863 Messages postés samedi 11 juin 2005Date d'inscription 21 août 2015 Dernière intervention - 25 mars 2011 à 12:41
3
Merci
Dim Ligne As Integer
Dim Colonne As Integer
For Ligne = 1 To Tablo.Rows - 1
Tablo.Row = Ligne
If Ligne Mod 2 = 0 Then
For Colonne = 0 To Tablo.Cols - 1
Tablo.Col = Colonne
Tablo.CellBackColor = RGB(237, 240, 247)
Next Colonne
End If
Next Ligne

Merci Sinsitrus 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de Sinsitrus
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 15 avril 2010 à 15:25
0
Merci
Salut,

Tu parcours tes cellules de la colonne une à une et tu les colorie.

N'oublie par le redraw false avant le traitement, et redraw true après pour optimiser le traitement !
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Sinsitrus 863 Messages postés samedi 11 juin 2005Date d'inscription 21 août 2015 Dernière intervention - 15 avril 2010 à 18:22
0
Merci
Merci DarkSidious ^^

With Tablo
.Col = Text1
For i = 0 To .Rows - 1
.Row = i
.CellBackColor = RGB(237, 240, 247)
Next i
End With


Vala lui ^^ mais ça ne ressemble pas à ce que tu m'as dis, je sais pas où mettre le redraw :$
Commenter la réponse de Sinsitrus
Sinsitrus 863 Messages postés samedi 11 juin 2005Date d'inscription 21 août 2015 Dernière intervention - 15 avril 2010 à 18:44
0
Merci
Je comprends mieux oui.
Encore merci ^^
Commenter la réponse de Sinsitrus

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.