Bonjour à tous !! Je suis de nouveau confronté à un petit problème et je m'en remet à vous une fois de plus =)
J'ai dans une feuille Excel des dates, comme par exemple :
Je voudrais dire en A5 qu'il y a erreur si une des dates est inférieure à la cellule précédente (ici A2 est plus petit que A1 donc erreur).
Avez-vous une idée de la formule à utiliser ?
J'ai essayer avec la fonction "SI" mais je n'arrive pas à l'appliquer à toute une plage de donnés...
Sub dates()
For i = 1 To Range("A65536").End(xlUp).Row
If Cells(i + 1, 1).Value < Cells(i, 1).Value Then
MsgBox ("Erreur en " & "A " & i + 1)
End If
Next i
End Sub
Comment faire pour combiner cette formule et celle que vous me proposez ?
Merci beaucoup =)
PS: 13GIBE59, merci pour votre code VBA, je l'ai essayer et ça fonctionne à merveille ! Mais je ne comprend pas comment modifier votre VBA afin de l'appliquer à des données rentrés horizontalement (sur la même ligne et non pas sur la même colonne).
Que faut-il modifier dans le code ? Merci !
La solution que j'ai donnée précédemment ne va pas : si l'on entre en A2 la date du 25/02/2010, l'erreur n'est pas indiquée.
Sans VBA, je ne vois pas comment résoudre le problème.
Avec cette fonction macro, c'est facile :
Code:
Function TrouveErreur(plage As Range) As Boolean
Dim c%, i%, j%
c = plage.Count
For i = 1 To c - 1
For j = i + 1 To c
If plage(j) <> "" Then
If plage(i) > plage(j) Then TrouveErreur = True: Exit Function Else Exit For
End If
Next
Next
End Function