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

Statistiques des forums

Discussions
312 228
Messages
2 086 420
Membres
103 205
dernier inscrit
zch