XL 2010 compter sur une ligne le nombre de valeurs consécutive si =3

jlbcall

XLDnaute Occasionnel
Bonjour,

Je souhaiterais trouver uen formule qui permt de compter le nombre de valeurs identiques et consécutives lorsque cs valeurs sont aux nombres de 3.
Exemple:
sur la ligne 1 de la colonne A à CH si C , D et E = R je voudrais en cellues CI1 renvoyer la valeur 1
Ci-joint un petit fichier
Merci d'avance
 

Pièces jointes

  • jlb.xlsx
    11.7 KB · Affichages: 56

vgendron

XLDnaute Barbatruc
Hello

en utilisant une fonction personnalisée "Conseq" dont voici le code
VB:
Public Function conseq(target As Range)
Application.Volatile
For Each ele In target
    If ele = "R" And ele.Offset(0, 1) = "R" And ele.Offset(0, 2) = "R" Then
        conseq = conseq + 1
    End If
Next ele
End Function

il faut mettre ce code dans un module standard VBA (Alt+F11) pour ouvrir l'éditeur et insérer module standard , puis coller le code
dans ta feuille Excel, il te suffit de taper en CI3
=Conseq(C3:CH3)
et tu tires vers le bas
 

vgendron

XLDnaute Barbatruc
tu peux aussi ajouter un test au cas où tu sélectionnes plusieurs lignes dans la fonction
VB:
Public Function conseq(target As Range)
Application.Volatile

If target.Rows.Count <> 1 Then
    conseq = "Erreur de sélection de range"
    Exit Function
End If
   
For Each ele In target
    If ele = "R" And ele.Offset(0, 1) = "R" And ele.Offset(0, 2) = "R" Then
        conseq = conseq + 1
    End If
Next ele
End Function
 

ODVJ

XLDnaute Impliqué
Bonsoir,

En adaptant une formule de CISCO dans une discussion équivalente, met cette formule en CI3 :
VB:
=(F3<>"R")*(C3&D3&E3="RRR")+SOMMEPROD((C3:CD3<>"R")*(D3:CE3="R")*(E3:CF3="R")*(F3:CG3="R")*(G3:CH3<>"R"))+(CE3<>"R")*(CF3&CG3&CH3="RRR")
Ça ne compte que les séquences d’exactement 3 R.
S'il y en a 4, ce ne sera pas considéré comme 2 séquences de 3 R.

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 895
Messages
2 093 385
Membres
105 715
dernier inscrit
Yoenai