Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 11/11/2005, 20h55   #1 (permalink)
XLDnaute Nouveau
 
Date d'inscription: novembre 2005
Messages: 12
Par défaut changer couleur ligne ListView

Bonsoir le Forum,

Je voudrais que lorsque je click sur un élément de ma ListView, cette ligne change de couleur.
Puis lorsque je sélectionne une deuxième ligne, elle change de couleur comme la première et la première reprenne sa couleur d'origine.

Avec ce code j'arrive a changer de couleur, mais lorsque je click sur un autre élément, le premier élément ne retrouve pas sa couleur d'origine.

Private Sub ListView1_Click()
Dim wItem As ListItem
Dim C As Byte

Set wItem = ListView1.SelectedItem

ListView1.ForeColor = RGB(1, 0, 0)

wItem.ForeColor = RGB(0, 0, 255)

For C = 1 To ListView1.ColumnHeaders.Count
wItem.ListSubItems(C).ForeColor = RGB(0, 0, 255)
Next

End Sub

Quelqu’un aurai une idée sur la correction à apporter ?

Message édité par: Baboune, à: 11/11/2005 22:13
Baboune est déconnecté   Réponse avec citation
ANNONCES
Vieux 12/11/2005, 01h52   #2 (permalink)
XLDnaute Barbatruc
 
Avatar de Hervé
 
Date d'inscription: février 2005
Localisation: Saint-Etienne
Version Excel : Excel XP (PC)
Messages: 4 420
Par défaut Re:changer couleur ligne ListView

Bonjour baboune

La seule combine que j'ai trouvé c'est de reboucler sur chaque item avant pour les remettres en noir.

j'ai ajouté un repaint, car bizarrement chez moi les changements de couleurs ne se faisaient pas sans.


Citation:

PrivateSub ListView1_Click()
Dim wItem As ListItem
Dim C As Byte
Dim i As Byte
With ListView1
       
For i = 1 To .ListItems.Count
               
For C = 1 To .ColumnHeaders.Count
                        .ListItems(i).ForeColor = RGB(1, 0, 0)
                        .ListItems(i).ListSubItems(C).ForeColor = RGB(1, 0, 0)
               
Next C
       
Next i
       
Set wItem = .SelectedItem
        wItem.ForeColor = RGB(0, 0, 255)
       
For C = 1 To .ColumnHeaders.Count
                wItem.ListSubItems(C).ForeColor = RGB(0, 0, 255)
       
Next C
End With
Me.Repaint
End Sub
salut
Hervé est déconnecté   Réponse avec citation
Vieux 12/11/2005, 10h06   #3 (permalink)
XLDnaute Nouveau
 
Date d'inscription: novembre 2005
Messages: 12
Par défaut Re:changer couleur ligne ListView

Bonjour Hervé, bonjour le Forum

J'ai une erreur d'exécution '35600'
Index hors limite avec le code proposé par Hervé.

avec la ligne :

.ListItems(i).ListSubItems(C).ForeColor =<index hors limite>

Y a t'il un probleme de déclaration avec 'i' et 'c' ou c'est 'RGB (1,0,0)' qui pose probléme. J'ai modifier la déclaration de 'i' et 'c' en long, integer ... sans résultat.


une idée ?
Baboune est déconnecté   Réponse avec citation
Vieux 12/11/2005, 10h19   #4 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 714
Par défaut Re:changer couleur ligne ListView

bonjour Baboune , bonjour cher Hervé

tu peux tester


Private Sub ListView1_Click()
Dim wItem As ListItem
Dim C As Byte
Dim i As Byte
With ListView1
For i = 1 To .ListItems.Count
For C = 1 To .ColumnHeaders.Count - 1
.ListItems(i).ForeColor = RGB(1, 0, 0)
.ListItems(i).ListSubItems(C).ForeColor = RGB(1, 0, 0)
Next C
Next i
Set wItem = .SelectedItem
wItem.ForeColor = RGB(0, 0, 255)
For C = 1 To .ColumnHeaders.Count - 1
wItem.ListSubItems(C).ForeColor = RGB(0, 0, 255)
Next C
End With
Me.Repaint
End Sub



bonne journée
MichelXld
MichelXld est déconnecté   Réponse avec citation
Vieux 12/11/2005, 10h23   #5 (permalink)
XLDnaute Barbatruc
 
Avatar de Hervé
 
Date d'inscription: février 2005
Localisation: Saint-Etienne
Version Excel : Excel XP (PC)
Messages: 4 420
Par défaut Re:changer couleur ligne ListView

re baboune, salut ami michel

Completement d'accord avec michel, il faut que tu ajustes tes boucles.

en pièce jointe petite démo du résultat obtenu.

salut
[file name=treeviewcouleur.zip size=21871]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/treeviewcouleur.zip[/file]
Fichiers attachés
Type de fichier : zip treeviewcouleur.zip (21,4 Ko, 72 affichages)
Hervé est déconnecté   Réponse avec citation
Vieux 12/11/2005, 20h06   #6 (permalink)
XLDnaute Nouveau
 
Date d'inscription: novembre 2005
Messages: 12
Par défaut Re:changer couleur ligne ListView

Bonsoir Hervé, MichelXld et le Forum

Cela fonctionne, c'était bien un probleme de boucle.

Merci à vous, bonne soirée
Baboune est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 21h39.


(C) 2006 Excel Downloads