Vba comparaison entre dates

Fermé
mart - 23 mai 2011 à 15:00
tinmar43 Messages postés 2 Date d'inscription lundi 23 mai 2011 Statut Membre Dernière intervention 23 mai 2011 - 23 mai 2011 à 15:47
Bonjour,

j'aimerai bien que ces quelques lignes de codes puissent me comparer les dates inscrites dans 2 cellules (A1 = date du jour) et me mettent la cellule dont la date est dépassée en rouge.

Merci pour votre aide

Private Sub CommandButton1_Click()
For i = 3 To 150
If Range("I" & i) < Range("A1") Then
Range("I" & i).Interior.ColorIndex = 3
End If
Next
End Sub

2 réponses

chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
23 mai 2011 à 15:05
Bonjour,

je ne vois pas quel est ton problème, cela fonctionne.

Cordialement.
0
le test fonctionne mal, toute la colonne sort rouge, que la date soit avant ou apres aujourdhui
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
23 mai 2011 à 15:16
Pourtant je viens de retester chez moi, en mettant des dates inférieure à A1, elles sont en rouge, en mettant des dates supérieures à A1 elles restent comme avant....
0
puis-je vous envoyer mon fichier par mail?
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
23 mai 2011 à 15:26
Non, par souci d'équité et de partage des informations, vous ne pouvez pas me l'envoyer par mail, au cas où quelqu'un d'autre viendrait vous aider ou aurait besoin de la solution apportée.

Vous pouvez déposer votre fichier via le site cijoint, puis coller le lien qui vous sera donné dans une réponse à cette conversation.
0
tinmar43 Messages postés 2 Date d'inscription lundi 23 mai 2011 Statut Membre Dernière intervention 23 mai 2011
Modifié par tinmar43 le 23/05/2011 à 15:34
https://www.luanagames.com/index.fr.html

a j'ai trouvé un autre site, ca devrait marcher pareil
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
23 mai 2011 à 15:44
Voici une nouvelle version de votre macro :

Private Sub CommandButton1_Click()
Dim NbLigne As Integer
NbLigne = Range("I65536").End(xlUp).Row
For i = 3 To NbLigne
If Not (IsEmpty(Range("I" & i))) And Range("I" & i) < Range("A1") Then
Range("I" & i).Interior.ColorIndex = 3
End If
Next
End Sub


J'ai rajouter la variable NbLigne qui permet de déterminer la dernière ligne contenant des données dans la colonne I.

J'ai également ajouté un test sur les cellules vides, ce qui fait que quand une cellule de la colonne I est vide elle ne devient pas rouge.

Merci de me dire si cela vous convient.
0