Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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" <piep14@discussions.microsoft.com> a écrit dans le message news:
7A77A8CE-E3ED-4F6F-9D3F-DC693870A9B5@microsoft.com...
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
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
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