Couleur msgrid

Résolu
viftro Messages postés 17 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 5 janvier 2017 - 25 mars 2015 à 21:09
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 21 janv. 2016 à 22:41
Bonjour,


-- j'utilise un contrôle msflexgrid que j'aimerais changer la couleur selon le critère payer ou impayer ..??aidez moi svp

6 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
12 avril 2015 à 11:06
Bonjour

De mémoire tu dois avoir un propriété CellBackColor qui permet de changer la cellule selectionnée.
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
12 avril 2015 à 11:33
Bonjour quelle version de VB?
VB6, VB.Net, VBA, VBS?
0
viftro Messages postés 17 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 5 janvier 2017
20 janv. 2016 à 01:51
vb6 merci c'est déja regler

--
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 20/01/2016 à 07:55
Il est alors bien :
- de montrer la solution apportée (tu es ici sur un forum d'échanges)
- de libérer la présente discussion (un clic sur le tag RESOLU au niveau de ton 1ert message).

PS : j'ai par ailleurs déplacé cette discussion vers le sous-forum VB6 où elle aurait dû être ouverte.
J'observe à ce propos qu'aujourd'hui encore, tu viens d'ouvrir une discussion dans le forum GENERAL Visual Basic (ce qui ne permet pas de savoir sous quoi tu développes exactement).

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
viftro Messages postés 17 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 5 janvier 2017
21 janv. 2016 à 20:41
--lOrgRow = MSGrid.Row
lOrgCol = MSGrid.Col

For lRow = MSGrid.FixedRows To MSGrid.Rows - 1
MSGrid.Row = lRow

If MSGrid.TextMatrix(lRow, 9) = "payer" Or MSGrid.TextMatrix(lRow, 9) = "PAYER" Then



lColor = vbGreen
Else

If MSGrid.TextMatrix(lRow, 9) = "impayer" Or MSGrid.TextMatrix(lRow, 9) = "IMPAYER" Then


lColor = vbRed
Else
lColor = vbWhite
End If
End If
For lCol = MSGrid.FixedCols To MSGrid.Cols - 1
MSGrid.Col = lCol
MSGrid.CellBackColor = lColor
Next lCol
Next lRow
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
21 janv. 2016 à 21:34
C'est plus clair avec les balises de codes et l'indentaton

lOrgRow = MSGrid.Row
lOrgCol = MSGrid.Col
For lRow = MSGrid.FixedRows To MSGrid.Rows - 1
    MSGrid.Row = lRow
    If MSGrid.TextMatrix(lRow, 9) = "payer" Or MSGrid.TextMatrix(lRow, 9) = "PAYER" Then
        lColor = vbGreen
    Else
        If MSGrid.TextMatrix(lRow, 9) = "impayer" Or MSGrid.TextMatrix(lRow, 9) = "IMPAYER" Then
            lColor = vbRed
        Else
            lColor = vbWhite
        End If
    End If
    For lCol = MSGrid.FixedCols To MSGrid.Cols - 1
       MSGrid.Col = lCol
        MSGrid.CellBackColor = lColor
     Next lCol
Next lRow
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 21/01/2016 à 23:36
Bonjour,
Ce qui devrait s'écrire plus efficacement et plus clairement ainsi (j'écris à main levée ... et à tester, donc ...)

dim lrow as integer, lcol as integer
with MSGrid
for lrow = .fixedrows to .rows - 1
coul = vbwhite
select case ucase(.textmatrix(lrow, 9))
case "PAYER"
coul = vbgreen
case "IMPAYER"
coul = vbred
case else
coul = vbwhite
end select
for lcol = .fixedcols To .cols - 1
.col = lcol
.row = lrow
.cellBackcolor = coul
next
next
end with


PS : tu n'as toujours pas libéré cette discussion. Fais-le s'il te plait en cliquant sur le tag RESOLU comme demandé plus haut.
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Rejoignez-nous