XL 2010 MEFC selon plusieurs lignes

carlos

XLDnaute Impliqué
Supporter XLD
Bonjour,
J'ai en colonne A ces valeurs triées, j'aimerais mettre une MEFC en alternance pour marquer les changements de valeurs.
A
A
A
J
J
B
Psq
Psq
Psq
Psq
???
???
Résultat attendu par exemple si on joue sur la couleur de la police:
A
A
A

J
J
B
Psq
Psq
Psq
Psq
???
???

Remarque : il ne peut y avoir de formules intégrées dans la feuille car je la .clear.
Merci
Carlos
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Avec cette fonction perso, peut être :
VB:
Function ChangeQuandChange(Rng As Range) As Boolean
Dim T(), L&
If Rng.Rows.Count < 2 Then Exit Function
T = Rng.Value
ChangeQuandChange = False
For L = UBound(T, 1) To 2 Step -1
   ChangeQuandChange = ChangeQuandChange Xor T(L, 1) <> T(L - 1, 1)
   Next L
End Function
 

Dranreb

XLDnaute Barbatruc
Non vous n'avez pas compris. Là c'est =ChangeQuandChange(A$2:A2)
C'est à dire depuis la référence absolue à la première ligne ou la MeFC s'applique jusqu'à la référence relative à la ligne en cours, qui est toujours la même que la 1ère dans la formule à la définition de la MeFC, mais ça ne représente une seule cellule que pour la 1ère ligne.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
La formule de votre MeFC n'est toujours pas bonne: =ChangeQuandChange(A1:A$2) au lieu de =ChangeQuandChange(A$2:A2)
La plage où elle s'applique est $A$2:$A$65536 et il faut qu'il prenne pour :
A2 : =ChangeQuandChange(A$2:A2)
A3 : =ChangeQuandChange(A$2:A3)
A4 : =ChangeQuandChange(A$2:A4)
etc.
Donc, pour la A2, et du coup pour l'intégralité de la MeFC, c'est cette seule et même cellule A2 deux fois mais avec référence relative à la ligne pour la répétition de droite seulement.
 

Dranreb

XLDnaute Barbatruc
Pour que la fonction soit vraie pour la 1ère ligne corrigez la comme ça :
VB:
Function ChangeQuandChange(Rng As Range) As Boolean
Dim T(), L&
ChangeQuandChange = True
If Rng.Rows.Count < 2 Then Exit Function
T = Rng.Value
For L = UBound(T, 1) To 2 Step -1
   ChangeQuandChange = ChangeQuandChange Xor T(L, 1) <> T(L - 1, 1)
   Next L
End Function
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 145
Membres
103 129
dernier inscrit
Atruc81500