MSHFlexGrid en VB6

Signaler
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour,

Je cherche sans succès le moyen de mettre par exemple backcolor d'une cellule sans avoir à me positionner avant dans la cellule.
Exemple ci-dessous,

WmsFlex.Row = WColorFlexX
WmsFlex.Col = 6
WmsFlex.CellBackColor = &HF9EFE4


Comment faire en une instruction un peu comme lorsque l'on y met du texte comme ceci,


WmsFlex.TextMatrix(0, 0) = "MonTexteLigneZeroColonneZero"


Merci d'avance et bon week end.

3 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
Bonjour,
Que veux-tu dire ?
Tu peux faire ceci (exemple)
 Dim ligne As Integer
ligne = 3
MSFlexGrid1.ForeColorSel = vbRed
MSFlexGrid1.BackColorSel = vbBlue
MSFlexGrid1.Row = ligne - 1
MSFlexGrid1.RowSel = ligne

sans te positionner à la souris ou clavier et à condition que ligne soit >= 1, mais ces couleurs ne seront pas "permanentes" et disparaîtront dès que tu sélectionneras une autre cellule
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
Mais si tu veux laisser ce style en permanence, alors ===>>> exemple :
 
Dim ligne As Integer, colonne As Integer
ligne = 2
colonne = 0
MSFlexGrid1.Row = ligne
MSFlexGrid1.Col = colonne
MSFlexGrid1.CellBackColor = vbYellow
MSFlexGrid1.CellForeColor = vbRed


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
Rien, par ailleurs, ne t'empêche de te faire une petite procédure, genre :
Private Sub peindre(quoi As MSFlexGrid, ligne As Integer, coulfond As Long, coulcar As Long)
With quoi
For i = 0 To .Cols - 1
.Row = ligne: .Col = i
.CellBackColor = coulfond: .CellForeColor = coulcar
Next
End With
End Sub

appelable par exemple ainsi :
peindre MSFlexGrid1, 2, vbYellow, vbRed


PS : Je commence à deviner ce que tu voulais dire (ton premier message). Ne pas confondre détermination d'une cellule et positionnement sur une cellule.
En déterminant la cellule à traiter, tu ne t'y "positionnes" pas !