Accueil > > > LISTVIEW (TEXTE COULEUR)
LISTVIEW (TEXTE COULEUR)
Information sur la source
Description
S'adresse à des débutants comme moi, qui se demandent comment changer la couleur du texte à chaque nouvelle ligne dans une listview. Remarquez, on pourrait, de la même façon, changer la couleur cellule par cellule. le code peut se résumer à la fonction suivante et est utilisable en vb ou vba:
Source
- Public Function lstadd(lst As ListView, lstvaleur As Variant, Optional lstcolor As String = "-1", Optional lstheaderisgiven As Boolean, Optional lstheader As Variant)
- '#### fonction qui ajoute séquentiellement des enregistrements
- '#### dans une listview avec une couleur donnée (lstcolor)
-
- 'exemple de syntaxe pour l'appel:
- 'Call lstadd(ListView1, lstvaleur, lstcolor, True, lstheader) = specification des noms de colonne et de la couleur de la ligne
- 'Call lstadd(ListView1, lstvaleur, lstcolor) = ligne de couleur lstcolor
- 'Call lstadd(ListView1, lstvaleur) = couleur noire par défaut
-
-
- '#### Vous devez vous assurer qu'il y a suffisamment
- '#### de colonnes definies(lstheader)
- '#### pouvant supporter la liste de valeurs entrante(lstvaleur)
-
- '#### precisez lstheaderisgiven = true si vous créez
- '#### vos propres colonnes par le biais de ce code
-
- '#### lstcolor varie de &h000000 à &hFFFFFF (BLEU-VERT-ROUGE)
-
- Dim lst_header_is_checked As Boolean
- Dim lst_m As Integer
- Dim lst_mm As Integer
- Dim lst_header_exist As Boolean
- Dim lst_column_index As Integer
-
-
-
- 'retire le tri actif pour ajouter séquentiellement
- lst.Sorted = False
-
- 'y a t'il une couleur spéciale?
- If lstcolor = "-1" Then
- lstcolor = "0"
- End If
- 'faut il tenir compte des entetes de colonne (option)
- If lstheaderisgiven = True Then
- lst_header_is_checked = True
- Else
- lst_header_is_checked = False
- End If
- 'si option entete des colonnes,
- 'alors créer tous les entetes de colonnes absents
- If lst_header_is_checked = True Then
- For lst_m = 1 To UBound(lstheader)
- lst_header_exist = False
- lst_column_index = -1
- For lst_mm = 1 To lst.ColumnHeaders.Count
- If lst.ColumnHeaders(lst_mm).Text = lstheader(lst_m) Then
- lst_header_exist = True
- Exit For
- End If
- Next lst_mm
- If lst_header_exist = False Then
- lst.ColumnHeaders.Add , , lstheader(lst_m)
- End If
- Next lst_m
- End If
- 'ajout des données
- 'doit on tenir compte de la liste des header
- If lst_header_is_checked = True Then
- For lst_m = 1 To UBound(lstvaleur)
- For lst_mm = 1 To UBound(lstheader)
- If lstheader(lst_m) = lst.ColumnHeaders(lst_mm).Text Then
- lst_column_index = lst_mm
- Exit For
- End If
- Next lst_mm
- If lst_column_index = 1 Then
- lst.ListItems.Add , , lstvaleur(lst_m)
- lst.ListItems.Item(lst.ListItems.Count).ForeColor = (lstcolor)
- Else
- lst.ListItems(lst.ListItems.Count).SubItems(lst_column_index - 1) = lstvaleur(lst_m)
- lst.ListItems.Item(lst.ListItems.Count).ListSubItems(lst_column_index - 1).ForeColor = (lstcolor)
- End If
- Next lst_m
- 'ajout des données
- 'dans l'ordre des lstvaleurs
- Else
- For lst_m = 1 To UBound(lstvaleur)
- If lst_m = 1 Then
- lst.ListItems.Add , , lstvaleur(lst_m)
- lst.ListItems.Item(lst.ListItems.Count).ForeColor = (lstcolor)
- Else
- lst.ListItems(lst.ListItems.Count).SubItems(lst_m - 1) = lstvaleur(lst_m)
- lst.ListItems.Item(lst.ListItems.Count).ListSubItems(lst_m - 1).ForeColor = (lstcolor)
- End If
-
- Next lst_m
- End If
-
- End Function
-
Public Function lstadd(lst As ListView, lstvaleur As Variant, Optional lstcolor As String = "-1", Optional lstheaderisgiven As Boolean, Optional lstheader As Variant)
'#### fonction qui ajoute séquentiellement des enregistrements
'#### dans une listview avec une couleur donnée (lstcolor)
'exemple de syntaxe pour l'appel:
'Call lstadd(ListView1, lstvaleur, lstcolor, True, lstheader) = specification des noms de colonne et de la couleur de la ligne
'Call lstadd(ListView1, lstvaleur, lstcolor) = ligne de couleur lstcolor
'Call lstadd(ListView1, lstvaleur) = couleur noire par défaut
'#### Vous devez vous assurer qu'il y a suffisamment
'#### de colonnes definies(lstheader)
'#### pouvant supporter la liste de valeurs entrante(lstvaleur)
'#### precisez lstheaderisgiven = true si vous créez
'#### vos propres colonnes par le biais de ce code
'#### lstcolor varie de &h000000 à &hFFFFFF (BLEU-VERT-ROUGE)
Dim lst_header_is_checked As Boolean
Dim lst_m As Integer
Dim lst_mm As Integer
Dim lst_header_exist As Boolean
Dim lst_column_index As Integer
'retire le tri actif pour ajouter séquentiellement
lst.Sorted = False
'y a t'il une couleur spéciale?
If lstcolor = "-1" Then
lstcolor = "0"
End If
'faut il tenir compte des entetes de colonne (option)
If lstheaderisgiven = True Then
lst_header_is_checked = True
Else
lst_header_is_checked = False
End If
'si option entete des colonnes,
'alors créer tous les entetes de colonnes absents
If lst_header_is_checked = True Then
For lst_m = 1 To UBound(lstheader)
lst_header_exist = False
lst_column_index = -1
For lst_mm = 1 To lst.ColumnHeaders.Count
If lst.ColumnHeaders(lst_mm).Text = lstheader(lst_m) Then
lst_header_exist = True
Exit For
End If
Next lst_mm
If lst_header_exist = False Then
lst.ColumnHeaders.Add , , lstheader(lst_m)
End If
Next lst_m
End If
'ajout des données
'doit on tenir compte de la liste des header
If lst_header_is_checked = True Then
For lst_m = 1 To UBound(lstvaleur)
For lst_mm = 1 To UBound(lstheader)
If lstheader(lst_m) = lst.ColumnHeaders(lst_mm).Text Then
lst_column_index = lst_mm
Exit For
End If
Next lst_mm
If lst_column_index = 1 Then
lst.ListItems.Add , , lstvaleur(lst_m)
lst.ListItems.Item(lst.ListItems.Count).ForeColor = (lstcolor)
Else
lst.ListItems(lst.ListItems.Count).SubItems(lst_column_index - 1) = lstvaleur(lst_m)
lst.ListItems.Item(lst.ListItems.Count).ListSubItems(lst_column_index - 1).ForeColor = (lstcolor)
End If
Next lst_m
'ajout des données
'dans l'ordre des lstvaleurs
Else
For lst_m = 1 To UBound(lstvaleur)
If lst_m = 1 Then
lst.ListItems.Add , , lstvaleur(lst_m)
lst.ListItems.Item(lst.ListItems.Count).ForeColor = (lstcolor)
Else
lst.ListItems(lst.ListItems.Count).SubItems(lst_m - 1) = lstvaleur(lst_m)
lst.ListItems.Item(lst.ListItems.Count).ListSubItems(lst_m - 1).ForeColor = (lstcolor)
End If
Next lst_m
End If
End Function
Conclusion
-------------------------------------- source origine: -------------------------------------- ZT Pdiffusion> http://www.vbfrance.com/forum.v2.aspx? ID=196570
------------------------------------- -- source supplémentaire: ---------------------------------- -----
modListView6 Module
Kevin Wilson> http://www.TheVBZone.com ( The VB Zone ) http://www.TheVBZone.net ( The VB Zone .net )
--------------------------------------- Autre source : ---------------------------------------
Astalav ista> http://vbfrance.com/code.aspx?ID=21072 http: //vbfrance.com/code.aspx?ID=21062
Sources du même auteur
SPLIT AMÉLIORÉ (POUR FICHIERS CSV DU STYLE 001,"YOUPI,ÇA VA?...SPLIT AMÉLIORÉ (POUR FICHIERS CSV DU STYLE 001,"YOUPI,ÇA VA?","RAS",,)split amélioré pour traiter un texte formaté du style ,001,"bonjour tout le monde, ça va,"?",,"etc...",,
(en gros ça tient compte de la présence ou n...
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
INTéGRATION YAMMER ET SHAREPOINT ONLINE (OFFICE 365), éTAPE 1 .INTéGRATION YAMMER ET SHAREPOINT ONLINE (OFFICE 365), éTAPE 1 . par Patrick Guimonet
#Yammer Certains s'en sont déjà fait l'écho (ici en allemand par exemple : Yammer Integration in Office 365 Phase 1) ou bien sûr sur le blog SharePoint : Make Yammer your default social network in Office 365 en anglais. Mais c'e...
Cliquez pour lire la suite de l'article par Patrick Guimonet [DYNAMICS CRM] AJOUTER LES DOSSIERS DE CRM AU DOSSIER FAVORIS D'OUTLOOK[DYNAMICS CRM] AJOUTER LES DOSSIERS DE CRM AU DOSSIER FAVORIS D'OUTLOOK par bianca
Objectif
Pour aller plus rapidement dans les menus de Dynamics CRM depuis votre client CRM pour Outlook, vous pouvez utiliser le dossier des Favoris d'Outlook. En effet, par simple glisser/déplacer, vous pouvez déposer un éléme...
Cliquez pour lire la suite de l'article par bianca VISUAL STUDIO 2013VISUAL STUDIO 2013 par Etienne Margraff
Ahh, ENFIN ! c'est officiel, il va y avoir un VS et un TFS 2013. De nouvelles fonctionnalités qui vont à mon sens assoir la maturité de TFS qui est maintenant l'outil incontournable pour tout projet (.NET, mais pas seulement !). Si vous n'avez pas jet...
Cliquez pour lire la suite de l'article par Etienne Margraff CONFIGURER LA COLLATION SQL SERVER POUR SHAREPOINT CONFIGURER LA COLLATION SQL SERVER POUR SHAREPOINT par JeremyJeanson
Note : Je poste cet article à titre de pense-bête. Cela fait des années que je me trimballe avec une capture d'écran, car je ne me rappel jamais comment choisir la collation d'un SQL Server pour SharePoint. Pour SharePoint, il est conseillé de choisir la ...
Cliquez pour lire la suite de l'article par JeremyJeanson ETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 1: CRéATION DU PLUGINETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 1: CRéATION DU PLUGIN par Philess
Dans cet article nous allons créer un plugin installable sur le Team Web Access qui s'intègrera dans l'architecture du site et se chargera au moment où on le décidera.
Avant de lire ce billet et si cela n'est pas encore fait j...
Cliquez pour lire la suite de l'article par Philess
Logiciels
Nego Facturation (1.85)NEGO FACTURATION (1.85)Nego Facturation est un logiciel complet qui permet de gérer vos factures et devis très simplemen... Cliquez pour télécharger Nego Facturation Devis-Factures PHMSD (2.2.0.1)DEVIS-FACTURES PHMSD (2.2.0.1)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD WDmemoCode (2.0.0.1)WDMEMOCODE (2.0.0.1)WDmemoCode a été conçu pour aider les développeurs Windev à créer/compléter et conserver une base... Cliquez pour télécharger WDmemoCode ProtoMedic (4.0.0.11)PROTOMEDIC (4.0.0.11)ProtoMedic est un logiciel destiné principalement aux médecins généralistes.
ProtoMedic permet d... Cliquez pour télécharger ProtoMedic MyCurriculum 2011 (7.4.1.12)MYCURRICULUM 2011 (7.4.1.12)Rédigez votre Curriculum Vitae mais également ceux de votre famille ou de vos amis très facilemen... Cliquez pour télécharger MyCurriculum 2011
|