XL 2013 Vérifier si une plage est en ordre croissant

Matt51140

XLDnaute Nouveau
Bonjour le forum,

Afin de vérifier si 7 valeurs d'une colonne sont en ordre croisant ou décroissant j'utilise ceci :

=SI(OU(ET($D33>$D32;$D34>$D33;$D35>$D34;$D36>$D35;$D37>$D36;$D38>$D37);(ET($D33<$D32;$D34<$D33;$D35<$D34;$D36<$D35;$D37<$D36;$D38<$D37)));VRAI;FAUX)

Cette formule est ensuite tirée sur des centaines de lignes.

Existe-t-il à votre connaissance quelque chose de plus simple, sans avoir à passer par des colonnes intermédiaires.

Merci d'avance.

Matthieu.
 

Victor21

XLDnaute Barbatruc
Supporter XLD
Bonjour.

Sans fichier exemple...
A tout hasard :
VB:
=D1>D2
propagé sur la zone renvoie VRAI ou FAUX qu'il est ensuite facile de filtrer
 

job75

XLDnaute Barbatruc
Bonjour Matt51140, Patrick,

Formule matricielle, à valider par Ctrl+Maj+Entrée :
Code:
=OU(ET(D33:D38>D32:D37);ET(D33:D38<D32:D37))
A+
 

Matt51140

XLDnaute Nouveau
Bonjour à tous,

Désolé de ne pas être revenu vers vous plus rapidement. Je n'ai pas recu les notifs de vos réponses.

Merci pour vos réponses.

Je vais retenir la solution de Job75.

Matthieu.
 

Matt51140

XLDnaute Nouveau
Rebonjour,

mapomme, est ce que cela ne marche pas si les 7 valeurs sont identiques ? (renvoie VRAI)

Matthieu.
 

job75

XLDnaute Barbatruc
Bonjour Matt51140, Patrick, mapomme,

Fonction VBA à placer impérativement dans un module standard :
VB:
Function CD(r As Range) As Boolean
Dim ordre As Boolean, i&
ordre = r(1) < r(2)
CD = True
For i = 1 To r.Count - 1
    If r(i) < r(i + 1) <> ordre Or r(i) = r(i + 1) Then CD = False: Exit Function
Next
End Function
A+
 

Fichiers joints

Dernière édition:

Discussions similaires


Haut Bas