Valeur inférieure à la cellule précédente

jo1177

XLDnaute Junior
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 :

A1= 22/02/2010
A2= 21/02/2010
A3= 23/02/2010
A4= 24/02/2010

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...

Merci ! =)
Jonathan
 

Jocelyn

XLDnaute Barbatruc
Re : Valeur inférieure à la cellule précédente

Bonjour le Forum,
Bonjour jo1177,

un essai en pièce jointe

Jocelyn
 

Pièces jointes

  • jo1177.xls
    13.5 KB · Affichages: 97
  • jo1177.xls
    13.5 KB · Affichages: 105
  • jo1177.xls
    13.5 KB · Affichages: 103

13GIBE59

XLDnaute Accro
Re : Valeur inférieure à la cellule précédente

Bonjour à tous.

Un essai en vba si ça te dit :

Code:
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

A +
 

job75

XLDnaute Barbatruc
Re : Valeur inférieure à la cellule précédente

Bonjour jo1177, Jocelyn, Bernard,

@ Jocelyn, je veille au grain :) sur ton exemple, la bonne formule est :

=SI(SOMMEPROD((A1:A3>A2:A4)*1);"Erreur";"")

Edit : mais j'aime mieux avec REPT (moins d'octets en mémoire) :

=REPT("Erreur";SIGNE(SOMMEPROD((A1:A3>A2:A4)*1)))

ou aussi :

=REPT(SOMMEPROD((A1:A3>A2:A4)*1)&" erreur(s)";SIGNE(SOMMEPROD((A1:A3>A2:A4)*1)))

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Valeur inférieure à la cellule précédente

Re,

Finalement la solution qui paraît la meilleure :

- mettre la cellule au format personnalisé :

0" erreur(s)";;

- avec cette formule dans la cellule :

=SOMMEPROD((A1:A3>A2:A4)*1)

A+
 

Pièces jointes

  • Test(1).xls
    13.5 KB · Affichages: 71
  • Test(1).xls
    13.5 KB · Affichages: 77
  • Test(1).xls
    13.5 KB · Affichages: 75

jo1177

XLDnaute Junior
Re : Valeur inférieure à la cellule précédente

Bonjour Jocelyn, 13GIBE59 ET JOB75 et merci pour vos réponses !!
J'ai essayer vos solutions, et ça fonctionne ! =)

Mais j'ai un dernier petit problème : en fait, la cellule où je souhaite mettre la formule que vous me proposez en contient déjà une, du type :
Code:
=RECHERCHE(9^9;INDIRECT("Feuil2!A"&LIGNE()&":E"&LIGNE()))

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 !
 
Dernière édition:

Jocelyn

XLDnaute Barbatruc
Re : Valeur inférieure à la cellule précédente

re,

Je remet le premier fichier dans lequel j'ai ajouté la formule de recherche a l'autre formule

Jocelyn
 

Pièces jointes

  • jo1177.xls
    13.5 KB · Affichages: 71
  • jo1177.xls
    13.5 KB · Affichages: 76
  • jo1177.xls
    13.5 KB · Affichages: 71

jo1177

XLDnaute Junior
Re : Valeur inférieure à la cellule précédente

Re !

Je viens de faire un test, ça fonctionne en effet =).

Un seul petit bémol, si une des dates n'est pas rentrée entre A1 et A4, alors il y a erreur...
Savez vous comment palier à ce problème ?

Ci joint un fichier exemple pour plus de compréhension

Merci beaucoup !

jo1177
 

Pièces jointes

  • jo1177(2).xls
    17.5 KB · Affichages: 67

job75

XLDnaute Barbatruc
Re : Valeur inférieure à la cellule précédente

Bonjour jo1177, Jocelyn,

Jocelyn doit prendre son thé, et avant de faire de même, je me glisse :

Code:
=SI(SOMMEPROD((A1:A3>A2:A4)*[COLOR="Red"](A2:A4<>"")[/COLOR]);"Erreur";RECHERCHE(9^9;INDIRECT("Feuil1!A1:A"&LIGNE()-1)))

Edit : à revoir, je me suis glissé trop vite...

A+
 

Pièces jointes

  • jo1177(3).xls
    23 KB · Affichages: 49
Dernière édition:

job75

XLDnaute Barbatruc
Re : Valeur inférieure à la cellule précédente

Re,

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

et en A6 la formule :

Code:
=SI(TrouveErreur(A1:A4);"Erreur";RECHERCHE(9^9;INDIRECT("Feuil1!A1:A"&LIGNE()-1)))

A+
 

Pièces jointes

  • jo1177(4).xls
    36 KB · Affichages: 65

Discussions similaires

Réponses
18
Affichages
817

Statistiques des forums

Discussions
312 305
Messages
2 087 090
Membres
103 464
dernier inscrit
Inconnu2