Bonjour à tous,
N'étant qu'une débutante en VBA, je pique des bouts de codes dans les tutos et sur les forums, je les assemble et les adapte en fonction de mes besoins. Seulement, cette fois, je suis boquée et je ne sais pas où se situe mon erreur.
Dans mon fichier Excel, j'ai une base de données qui contient tous les échantillons stockés par mon entreprise.
Cette base de données est visible dans la listview d'un userform.
La 4ème colonne de cette listview contient la date de mise en stockage. La cinquième colonne affiche la date de fin de stockage. J'aimerais que, lorsqu'un échantillon a atteint sa date de fin de stockage, sa ligne se colore en rouge dans la listview.
Mon code fonctionne quand je mets la condition sur une colonne qui contient des chiffres, mais pas sur une colonne qui contient une date. Où me suis-je trompée ?
Est-ce que c'est au niveau du dd/mm/yyyy" ? Du Now ?
Private Sub Actualisation()
Dim item As ListItem
Dim derniereligne As Integer
Dim i As Integer
Dim couleur As Variant
Dim moncritere As Variant
ListView1.ListItems.Clear
derniereligne = Feuil2.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To derniereligne
'moncritere = Format(Feuil2.Cells(i, 9), "#0")
'Select Case moncritere
'Case Is < 2
'couleur = &H80FF&
'Case Is >= 2
'couleur = &HFF00&
moncritere = Format(Feuil2.Cells(i, 5), "dd/mm/yyyy")
Select Case moncritere
Case Is <= Now
couleur = &H80FF&
Case Is > Now
couleur = &HFF00&
End Select
Set item = ListView1.ListItems.Add(Text:=Feuil2.Cells(i, 1))
item.SubItems(1) = Feuil2.Cells(i, 2)
item.ListSubItems(1).ForeColor = couleur
item.SubItems(2) = Feuil2.Cells(i, 3)
item.ListSubItems(2).ForeColor = couleur
item.SubItems(3) = Feuil2.Cells(i, 4)
item.ListSubItems(3).ForeColor = couleur
item.SubItems(4) = Feuil2.Cells(i, 5)
item.ListSubItems(4).ForeColor = couleur
item.SubItems(5) = Feuil2.Cells(i, 6)
item.ListSubItems(5).ForeColor = couleur
item.SubItems(6) = Feuil2.Cells(i, 7)
item.ListSubItems(6).ForeColor = couleur
item.SubItems(7) = Feuil2.Cells(i, 8)
item.ListSubItems(7).ForeColor = couleur
item.SubItems(8) = Feuil2.Cells(i, 9)
item.ListSubItems(8).ForeColor = couleur
item.SubItems(9) = Feuil2.Cells(i, 10)
item.ListSubItems(9).ForeColor = couleur
item.SubItems(10) = Feuil2.Cells(i, 11)
item.ListSubItems(10).ForeColor = couleur
item.SubItems(11) = Feuil2.Cells(i, 12)
item.ListSubItems(11).ForeColor = couleur
Next i
End Sub
N'hésitez pas à me demander si vous avez besoin de plus d'éléments et merci beaucoup d'avance pour votre aide.
N'étant qu'une débutante en VBA, je pique des bouts de codes dans les tutos et sur les forums, je les assemble et les adapte en fonction de mes besoins. Seulement, cette fois, je suis boquée et je ne sais pas où se situe mon erreur.
Dans mon fichier Excel, j'ai une base de données qui contient tous les échantillons stockés par mon entreprise.
Cette base de données est visible dans la listview d'un userform.
La 4ème colonne de cette listview contient la date de mise en stockage. La cinquième colonne affiche la date de fin de stockage. J'aimerais que, lorsqu'un échantillon a atteint sa date de fin de stockage, sa ligne se colore en rouge dans la listview.
Mon code fonctionne quand je mets la condition sur une colonne qui contient des chiffres, mais pas sur une colonne qui contient une date. Où me suis-je trompée ?
Est-ce que c'est au niveau du dd/mm/yyyy" ? Du Now ?
Private Sub Actualisation()
Dim item As ListItem
Dim derniereligne As Integer
Dim i As Integer
Dim couleur As Variant
Dim moncritere As Variant
ListView1.ListItems.Clear
derniereligne = Feuil2.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To derniereligne
'moncritere = Format(Feuil2.Cells(i, 9), "#0")
'Select Case moncritere
'Case Is < 2
'couleur = &H80FF&
'Case Is >= 2
'couleur = &HFF00&
moncritere = Format(Feuil2.Cells(i, 5), "dd/mm/yyyy")
Select Case moncritere
Case Is <= Now
couleur = &H80FF&
Case Is > Now
couleur = &HFF00&
End Select
Set item = ListView1.ListItems.Add(Text:=Feuil2.Cells(i, 1))
item.SubItems(1) = Feuil2.Cells(i, 2)
item.ListSubItems(1).ForeColor = couleur
item.SubItems(2) = Feuil2.Cells(i, 3)
item.ListSubItems(2).ForeColor = couleur
item.SubItems(3) = Feuil2.Cells(i, 4)
item.ListSubItems(3).ForeColor = couleur
item.SubItems(4) = Feuil2.Cells(i, 5)
item.ListSubItems(4).ForeColor = couleur
item.SubItems(5) = Feuil2.Cells(i, 6)
item.ListSubItems(5).ForeColor = couleur
item.SubItems(6) = Feuil2.Cells(i, 7)
item.ListSubItems(6).ForeColor = couleur
item.SubItems(7) = Feuil2.Cells(i, 8)
item.ListSubItems(7).ForeColor = couleur
item.SubItems(8) = Feuil2.Cells(i, 9)
item.ListSubItems(8).ForeColor = couleur
item.SubItems(9) = Feuil2.Cells(i, 10)
item.ListSubItems(9).ForeColor = couleur
item.SubItems(10) = Feuil2.Cells(i, 11)
item.ListSubItems(10).ForeColor = couleur
item.SubItems(11) = Feuil2.Cells(i, 12)
item.ListSubItems(11).ForeColor = couleur
Next i
End Sub
N'hésitez pas à me demander si vous avez besoin de plus d'éléments et merci beaucoup d'avance pour votre aide.