[Excel] débutant cherche à comparer des dates...

débutant cherche à comparer des dates... [Excel] - VB/VBA/VBS - Programmation

Marsh Posté le 08-03-2005 à 10:43:48    

Bonjour,
 
J'ai fait une recherche et j'ai pas trouvé de solution à mon petit problème.
 
J'ai un tableau de 4000 lignes avec 8 colonnes de dates, et je cherche à les comparer au niveau chronologique. En effet chaque cellule doit présenter une date inférieure à la suivante.  
J'aimerais donc qu'Excel m'indique quelles sont les lignes qui bafouent cette chronologie. Ca m'éviterait de les vérifier une par une comme un forçat :(  
 
J'y connais rien mais en cherchant un peu j'ai trouvé une petite formule de condition basique qui compare les colonnes 2 par 2.
 
=SI(A1<B1;"Ok";"Faux" )  
 
Même si ca compare que deux colonnes, je pourrais me débrouiller... Mais mon probleme est que dans chaque ligne certaines cellules sont vides, du coup Excel compare une date à une valeur 0, et forcément il m'indique que toutes les lignes sont fausses...  
 
Je cherche donc deux choses :
 
Ignorer une cellule vide dans cette petite formule, par exemple en m'indiquant un troisieme etat "cellule vide"... et pourquoi pas comparer directement les 8 colonnes plutot que 2 seulement... Je cherche sur le net depuis un moment et je trouve rien.  
 
Y aurait pas un pro dans la salle pour aider un débutant ?  
 
Merci d'avance ! :)

Reply

Marsh Posté le 08-03-2005 à 10:43:48   

Reply

Marsh Posté le 08-03-2005 à 15:03:47    

salut
tu cherches a comparer les lignes ou les colonnes???

Reply

Marsh Posté le 08-03-2005 à 15:39:52    

Lut,
 
Ben en fait une ligne est composée de 8 cellules, dans chaque y a soit une date, soit rien du tout.  
Donc je cherche a ce que excel m'indique si les dates se suivent bien dans le temps ou non et ne tienne pas compte des cellules vides.  
 
Car en cas de cellule vide, excel considere que c est une valeur nulle et donc ma petite formule basique marche pas... faudrait qu'il passe outre et continue avec la date/cellule suivante.
 
Desole c est pas evident a expliquer, merci pour ton aide :)

Reply

Marsh Posté le 08-03-2005 à 15:43:18    

Bonjour,
la macro suivante colore en rouge les cellules qui ne sont pas considérée comme des dates et en vert les dates supérieures à une des cellules suivantes:

Code :
  1. Sub Test()
  2. For i = 1 To ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
  3. If Not IsDate(Cells(i, 1).Value) Then
  4. Cells(i, 1).Interior.ColorIndex = 3
  5. Else
  6.     For k = 2 To 6
  7.     If Not IsDate(Cells(i, k).Value) Then
  8.     Cells(i, k).Interior.ColorIndex = 3
  9.     Else
  10.     If Cells(i, k).Value < Cells(i, k - 1) Then
  11.         Cells(i, k - 1).Interior.ColorIndex = 4
  12.         For j = (k - 1) To 1 Step -1
  13.         If Cells(i, k).Value < Cells(i, j) Then Cells(i, j).Interior.ColorIndex = 4
  14.         Next
  15.     End If
  16.     End If
  17.     Next
  18. End If
  19. Next
  20. End Sub


Ok ?

Reply

Marsh Posté le 08-03-2005 à 16:52:06    

Rha mon sauveur :D Gé-nial :)
 
Je te remercie mille fois Galopin01 ! C est excellent :)
 
Je viens de faire des petits tests et c'est top, en un coup d'oeil je vois la date/cellule verte qui pose probleme, et donc qui necessite que je me penche dans le dossier pour vérifier l'évènement.  
 
Tu me sauves d'un travail de Titan, merci encore  :hello:  
 

Reply

Marsh Posté le 08-03-2005 à 17:05:18    

Oui,
je viens de me rendre compte qu'il y a 8 colonnes, il faut donc remplacer :
For k = 2 To 6 par...
For k = 2 To 8
A+


Message édité par galopin01 le 08-03-2005 à 17:06:08
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed