Comptage des plus grande série de trois types de valeurs

  • Initiateur de la discussion Initiateur de la discussion jopont
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jopont

XLDnaute Impliqué
Bonjour,
Je cherche sur une à compter le plus grand nombre de valeurs consécutive.
Les valeurs peuvent être RF, P1 ou cellule vide.

J'ai réussi avec une fonction à compter les RF consécutifs, mais si il y a des cellules vides ou des valeurs P1,elles ne s'ajoutent pas.

J'ai une formule du type : compte( C4:BL4;"RF"; VRAI) elle fonctionne.

Mais si je met : compte (C4:BL4;OU("RF"; "P1";""); VRAI) ça ne fonctionne pas.

Comment résoudre ce problème
merci
 
Re : Comptage des plus grande série de trois types de valeurs

Bonsoir,

J'ai lu tes trois messages, mais sans fichier à l'appui, j'ai quelque peine à comprendre.

Un extrait de ton fichier serait donc le bienvenu.

A te (re)lire

@+
 
Re : Comptage des plus grande série de trois types de valeurs

Bonsoir,
Code VBA à tester mais c'est une sub et non une fonction :
Code:
Sub test()
Dim Plage, i&, j&, Nb&, temp
    For i = 1 To Sheets.Count
    Set Plage = Sheets(i).Range("A1").CurrentRegion.Resize(1)
        For j = 1 To Plage.Cells.Count
            If (Plage(2, j) = "RF" Or Plage(2, j) = "P1" Or Plage(2, j) = "") And _
                (Plage(2, j + 1) = "RF" Or Plage(2, j + 1) = "P1" _
                Or Plage(2, j + 1) = "") Then
                    Nb = Nb + 1
                    If temp < Nb Then temp = Nb
            Else:
                Nb = 0
            End If
        Next j
    Next i
    temp = temp + 1
End Sub
A+
 
Re : Comptage des plus grande série de trois types de valeurs

Bonjour,

Softmama a trouvé la fonction suivante qui semble fonctionner :

Function compte()

Application.Volatile 'selon le besoin…
Dim c As Range, t As Integer, Cpte As Integer
For t = 1 To Sheets.Count
Set c = Sheets(t).[A2]
Do While c.Column < 32
If c = "RF" Or c = "" Or c = "P1" Then
Cpte = Cpte + 1
Else
If compte < Cpte Then compte = Cpte
Cpte = 0
End If
Set c = c(1, 2)
Loop
Next
End Function

je vais tester, et je joindrai le fichier.
merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour