ligne en rouge dans listview

  • Initiateur de la discussion Initiateur de la discussion petchy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

petchy

XLDnaute Occasionnel
bonjour
dans une listview j'ai 5 colonnes
1 nom
2 prenom
3 date
4 titre
5 descriptif
comment faire pour mettre la ligne en rouge si la date (colonne 3) est superieur à 6 mois par rapport à la date system.
merci
 
Re : ligne en rouge dans listview

Bonjour petchy, salim

Teste ceci :

Les en-têtes en A1---> E1

Code:
Private Sub UserForm_Initialize()

Dim i As Long, k As Byte, m As Byte, x As Long, j As Byte

With ListView1
    With .ColumnHeaders
      .Clear
       For m = 1 To 5
          .Add , , Cells(1, m)
       Next
    End With

 .View = lvwReport
 .FullRowSelect = True

        For i = 2 To Range("A65536").End(xlUp).Row
           .ListItems.Add , , Cells(i, 1)
               For k = 2 To 5
                 .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, k)
               Next
        Next
            ' mise en couleur (rouge) des données
            For x = 1 To .ListItems.Count
               If CDate(Format(.ListItems(x).ListSubItems(2).Text, "dd/mm/yyyy")) > DateAdd("m", 6, Date) Then
                  .ListItems(x).ForeColor = RGB(255, 0, 0)
                     For j = 1 To 4
                      .ListItems(x).ListSubItems(j).ForeColor = RGB(255, 0, 0)
                     Next
               End If
            Next

End With

End Sub

Bon fin de journée
 
Re : ligne en rouge dans listview

Re
merci bqtr,
mais je reçois des données dans la listview qui provient de ma base,et ses données sont affichées si ils sont supérieur à 3 mois,et ses dans cette listview que je voudrais mettre la ligne en rouge des qu'une données est superieur à 6 mois.et je n'arrive pas intégrer ton code.
Private Sub UserForm_Initialize()

With List
'Définit le nombre de colonnes et Entêtes
With .ColumnHeaders

'Supprime les anciens entêtes
.Clear
'Ajoute 3 colonnes en spécifiant le nom de l'entête
'et la largeur des colonnes

.Add , , "Nom", 100
.Add , , "Prénom", 100
.Add , , "Date", 70
.Add , , "Titre", 215
.Add , , "Descriptif", 250
End With
End With
'Remplissage de la 1ere colonne (création de 3 lignes)


List.View = lvwReport


For i = 3 To Range("A65536").End(xlUp).Row
If Cells(i, 3) < Date - 90 Then
'If Cells(i + 90, 1) < Date And Cells(i, 1) < Date Then

List.ListItems.Add , , Cells(i, 1)
For k = 2 To 5
List.ListItems(List.ListItems.Count).ListSubItems.Add , , Cells(i, k)
Next
End If
Next
End Sub
 
Re : ligne en rouge dans listview

Re,

Rajoute ceci avant le End Sub

Code:
' mise en couleur (rouge) des données
            For x = 1 To List.ListItems.Count
               If CDate(Format(List.ListItems(x).ListSubItems(2).Text, "dd/mm/yyyy")) < Date - 180 Then
                  List.ListItems(x).ForeColor = RGB(255, 0, 0)
                     For j = 1 To 4
                      List.ListItems(x).ListSubItems(j).ForeColor = RGB(255, 0, 0)
                     Next
               End If
            Next
A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
171
Réponses
6
Affichages
344
Réponses
10
Affichages
384
Réponses
2
Affichages
467
  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
395
Réponses
12
Affichages
361
Retour