STCManiak
Messages postés9Date d'inscriptionlundi 6 janvier 2003StatutMembreDernière intervention16 mai 2003
-
10 janv. 2003 à 09:16
cs_DeathAngel
Messages postés117Date d'inscriptionvendredi 12 avril 2002StatutMembreDernière intervention13 avril 2007
-
10 janv. 2003 à 11:26
Est-ce que quelqu'un aurait une solution??
J'ai une MsflexGrid, lorsque l'utilisateur sélectionne une ou plusieurs cellules de la FlexGrid, et qu'îl clique sur un bouton,
les cellules sélectionnées changent de couleur de fond!!
Pour l'instant j'ai ça:
-----------------------------------------------------------
Private Sub CmdChangerCouleur_Click()
-------------------------------------------------------
le problème c'est que les propriétés ColSel et RowSel
reprèsentent seulement la cellule de départ de sélection, celle dans laquelle on a cliqué avant de glisser pour en sélectionner d'autres.
Autrement dit, j'ai qu'un seule cellule qui change de couleur
STCManiak
Messages postés9Date d'inscriptionlundi 6 janvier 2003StatutMembreDernière intervention16 mai 2003 10 janv. 2003 à 10:35
salut DeathAngel
Merci pour ta réponse, mais ce que je voudrais, c'est pas changer la couleur des cellules sélectionés, pendant la sélection,mais après!!
par exemple je sélectionne les cellules:
(0,1)(0,2)(0,3)(1,1)(1,2)(1,3)
j'aimerais peser sur un bouton, qui change définitivement
la couleurs des celleules sélectionnées,
avec le code que j'ai mis juste ci-dessous,
il y a seulement la cellule(0,1) qui change de couleur!
cs_DeathAngel
Messages postés117Date d'inscriptionvendredi 12 avril 2002StatutMembreDernière intervention13 avril 2007 10 janv. 2003 à 11:26
OK, j'avais pas pigé,
voilà une solution, certes pas très élégante, mais qui fonctionne très bien ^_^
Private Sub Command1_Click()
'Change la couleur de la selection
'on doit respecter i<=k et j<=l
Dim i As Long 'Bord haut de la plage de sélection
Dim j As Long 'Bord gauche de la plage de sélection
Dim k As Long 'Bord bas de la plage de sélection
Dim l As Long 'Bord droite de la plage de sélection
Dim a As Long
Dim b As Long
With Me.MSFlexGrid1
If .Row <= .RowSel Then
i = .Row
k = .RowSel
Else
i = .RowSel
k = .Row
End If
If .Col <= .ColSel Then
j = .Col
l = .ColSel
Else
j = .ColSel
l = .Col
End If
For a = i To k
For b = j To l
.Row = a
.Col = b
.CellBackColor = RGB(123, 321, 154)
Next b