Listview color Item sous condition

creolia

XLDnaute Impliqué
Bonjour à tous

j'ai récupéré sur le forum cette macro qui me permet d'alimenté ma listview

Code:
With ListView1
With .ColumnHeaders
.Clear
 '.Add , , "      Source", 0, lvwColumnLeft '/// on met la largeur de colonne à 0
.Add , , "Type de Produit", 90
.Add , , "Description du Produit", 90
.Add , , "Date transaction", 80
.Add , , "Date de péremption", 80, 2
.Add , , "Entrée", 60, 2
.Add , , "Sortie", 60, 2
.Add , , "Service", 90, 2
.Add , , "Commentaire", 110, 2
.Add , , "Nb unitée/Boite", 60, 2
.Add , , "Nb Boite", 80, 2
.Add , , "Stock", 80, 2
.Add , , "Alerte Péremption", 80, 2

End With
.View = lvwReport
.FullRowSelect = True

End With
For Each sht In Sheets
  If Left(sht.Name, 3) = "BDD" Then
' Cherche la dernière ligne du tableau
DLig = sht.Range("B" & Rows.Count).End(xlUp).Row
Me.ListView1.ListItems.Add , , sht.Range("A" & DLig)
Ind = Me.ListView1.ListItems.Count
Me.ListView1.ListItems(Ind).ListSubItems.Add , , sht.Range("B" & DLig)
Me.ListView1.ListItems(Ind).ListSubItems.Add , , sht.Range("C" & DLig)
Me.ListView1.ListItems(Ind).ListSubItems.Add , , sht.Range("D" & DLig)
Me.ListView1.ListItems(Ind).ListSubItems.Add , , sht.Range("E" & DLig)
Me.ListView1.ListItems(Ind).ListSubItems.Add , , sht.Range("F" & DLig)
Me.ListView1.ListItems(Ind).ListSubItems.Add , , sht.Range("G" & DLig)
Me.ListView1.ListItems(Ind).ListSubItems.Add , , sht.Range("H" & DLig)
Me.ListView1.ListItems(Ind).ListSubItems.Add , , sht.Range("I" & DLig)
Me.ListView1.ListItems(Ind).ListSubItems.Add , , sht.Range("J" & DLig)
Me.ListView1.ListItems(Ind).ListSubItems.Add , , sht.Range("K" & DLig)
Me.ListView1.ListItems(Ind).ListSubItems.Add , , sht.Range("l" & DLig)
End If
Next sht

et j'utilisais cette macro pour colorier sous condition mes items de mon ancienne listview



Code:
NLL = Worksheets(Temp1.Caption).Range("B" & Cells.Rows.Count).End(xlUp).Row + 1
        For i = 3 To NLL
        'To Sheets(Temp1.Caption).Range("A65536").End(xlUp).Row
        
          .ListItems.Add , , Worksheets(Temp1.Caption).Cells(i, 2)
          .ListItems(.ListItems.Count).ListSubItems.Add , , Worksheets(Temp1.Caption).Cells(i, 3)
          .ListItems(.ListItems.Count).ListSubItems.Add , , Worksheets(Temp1.Caption).Cells(i, 4)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Worksheets(Temp1.Caption).Cells(i, 5)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Worksheets(Temp1.Caption).Cells(i, 6)
          .ListItems(.ListItems.Count).ListSubItems.Add , , Worksheets(Temp1.Caption).Cells(i, 7)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Worksheets(Temp1.Caption).Cells(i, 8)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Worksheets(Temp1.Caption).Cells(i, 9)
             .ListItems(.ListItems.Count).ListSubItems.Add , , Worksheets(Temp1.Caption).Cells(i, 10)
                .ListItems(.ListItems.Count).ListSubItems.Add , , Worksheets(Temp1.Caption).Cells(i, 11)
             
         end if 
next


le soucis avec cette nouvelle listview cette seconde macro ne fonctionne pas et je vois pas trop comment faire pour adapter cette macro à ma listview plus haut pour qu'il me colorie mes item sous condition quelqu'un pourais t'il m'aider svp merci d'avance
 

YANN-56

XLDnaute Barbatruc
Re : Listview color Item sous condition

Bonjour Creolia, aux participants, et à ceux qui passeront pat ici,

J'ai ajouté en Feuille BDD1, un bouton2 qui ouvre l'USF2.

Dans ce dernier tu cliques sur "INITIALISATION" et tu regardes.
A noter que son code peut être mis dans l'Initialize de l'USF.

Ce n'est que pour te proposer une façon de procéder que je trouve plus souple.

Si cela te convient, il restera à gérer l'analyse des dates.
Pour cela, il s'avérera indispensable de les traduire au format décimal dans la ListView.
(Colonnes à ajouter pour le tri ultérieur par date)

L'attribution de couleurs aux items ne sera pas compliquée par la suite.
Idem pour faire une boucle sur les Feuilles concernées.

Amicalement

Yann
 

Pièces jointes

  • Classeur1_1.zip
    25.3 KB · Affichages: 92

Bebere

XLDnaute Barbatruc
Re : Listview color Item sous condition

bonjour Creolia,Banzai,Fhoest,Mj
comme suit
With Me.ListView1
.ListItems.Add , , sht.Range("A" & DLig)
Ind = .ListItems.Count
.ListItems(Ind).ListSubItems.Add , , sht.Range("B" & DLig)
.ListItems(Ind).ListSubItems.Add , , sht.Range("C" & DLig)
.ListItems(Ind).ListSubItems.Add , , sht.Range("D" & DLig)
.ListItems(Ind).ListSubItems.Add , , sht.Range("E" & DLig)
.ListItems(Ind).ListSubItems.Add , , sht.Range("F" & DLig)
.ListItems(Ind).ListSubItems.Add , , sht.Range("G" & DLig)

If sht.Range("G" & DLig) <> "" And sht.Range("G" & DLig) < 1 Then
.ListItems(Ind).ListSubItems(5).ForeColor = vbred'&HFF&
End If

End With
à bientôt
 

Fo_rum

XLDnaute Accro
Re : Listview color Item sous condition

Salu

je ne pense pas que ce soient les cellules vides qui posent problème mais plutôt le numéro des colonnes (surtout quand celles-ci changent d'un classeur à l'autre).
Voici un autre exemple où j'ai profité de clics dans la liste des propriétés de la ListView pour ne pas écrire des lignes de codes.
 

Pièces jointes

  • ListViewCouleurColonnes.xls
    39.5 KB · Affichages: 216

YANN-56

XLDnaute Barbatruc
Re : Listview color Item sous condition

Bonsoir Bebere, et à ceux qui passeront par là (Ce que Creolia ne fait pas!!!),

Bebere, en tant que "Barbatruc" tu as raison de rester dans ton académie :)

Quant à moi je jette l'éponge au regard de:

les n° de colonnes et les listview en trop With listview1.....end with

Sans commentaire sur ton code dont ma modestie l'impose.
40 lignes d'un "Barbatruc"; c'est bien!... 10 lignes d'un balbutiant c'est nul...

Tu as certainement raison! Et j'obtempère en quittant définitivement ce fil.

Amicalement.

Yann
 
Dernière édition:

creolia

XLDnaute Impliqué
Re : Listview color Item sous condition

Bonjour Banzai64, fohest, mj13 ,yann56, bebere ,et forum

je tenais à vous remercier tous pour votre aide j'ai résolu mon probléme en prenant un petit peu de chacune de vos propositions en particularité celui de fohest qui à contribuer à une grande partis de ma macro j'ai beaucoup appris sur ce coup là encore cela ma permis de résoudre du coup un second probleme en même temps .

à trés bientot creolia:)
 

creolia

XLDnaute Impliqué
Re : Listview color Item sous condition

Bonjour vous étés tous trés bon mon remerciment particulier à toi est tu fais d'avoir survie ce probleme depuis le début mais vous étés tous trés méritant et encore un grand merci à chacun de vous à bientot
 

Discussions similaires

Statistiques des forums

Discussions
314 486
Messages
2 110 115
Membres
110 672
dernier inscrit
CHACHALUBAN