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

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
 

Tibo

XLDnaute Barbatruc
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

@+
 

jopont

XLDnaute Impliqué
Re : Comptage des plus grande série de trois types de valeurs

Bonjour,

Voila un fichier d'exemple.

merci pour votre aide
 

Pièces jointes

  • essaimax_RFP1.xlsm
    17.9 KB · Affichages: 52
  • essaimax_RFP1.xlsm
    17.9 KB · Affichages: 56
  • essaimax_RFP1.xlsm
    17.9 KB · Affichages: 54

CISCO

XLDnaute Barbatruc
Re : Comptage des plus grande série de trois types de valeurs

Bonsoir

Le début d'une méthode, avec une ligne intermédiaire, en pièce jointe.

@ plus
 

Pièces jointes

  • essaimax_RFP1.xlsm
    18.2 KB · Affichages: 44
  • essaimax_RFP1.xlsm
    18.2 KB · Affichages: 48
  • essaimax_RFP1.xlsm
    18.2 KB · Affichages: 43

david84

XLDnaute Barbatruc
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+
 

jopont

XLDnaute Impliqué
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
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 763
dernier inscrit
p.michaux