OVH Cloud OVH Cloud

Faire une boucle / décomposer un nombre

1 réponse
Avatar
piep14
J'ai des valeurs dans le tableur Excel.
20942
21654
20725
27534
...
Ainsi de suite

Je dois en fait compter le nombre de fois le chiffre 20, ..., 25 ressort de
la liste. Est ce possible à faire ? Peut etre une fonction ? Merci

1 réponse

Avatar
Hervé
Salut Piep 14,
La fonction ci dessous peut être utilisée dans une feuille de calcul,
exemple "=Compter(A1:A5;20)" ou "=Compter(A1;24,5)" mais tu peut aussi
l'appeler dans une Sub, exemple MsgBox Compter([A1:A5], 20) :

Public Function Compter(Plage As Range, _
Valeur As Double) As Long
Dim Cel As Range
Dim I As Long
Dim Pos As Long
Dim J As Long

Application.Volatile
'nombre chiffres
J = Len(CStr(Valeur))

For Each Cel In Plage.Cells
'évite une recherche inutile
Pos = InStr(Cel, Valeur)
If Pos <> 0 Then
For I = Pos To Len(Cel.Value)
'recherche et additionne
If Mid(Cel.Value, I, J) = Valeur Then
Compter = Compter + 1
'raccourci la boucle afin d'éviter
'une comparaison inutile
I = I + J - 1
End If
Next I
End If
Next Cel

Set Cel = Nothing
End Function

Hervé.

"piep14" a écrit dans le message news:

J'ai des valeurs dans le tableur Excel.
20942
21654
20725
27534
...
Ainsi de suite

Je dois en fait compter le nombre de fois le chiffre 20, ..., 25 ressort
de

la liste. Est ce possible à faire ? Peut etre une fonction ? Merci