Occurence dans une feuille

  • Initiateur de la discussion Initiateur de la discussion Fraille
  • 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 !

F

Fraille

Guest
Bonjour,

J'ai un peu flané sur les différents sujets du forum mais je n'ai pas trouvé la réponse à ma question qui est celle de savoir s'il est possible de compter le nombre d'occurence d'un caractère (par exemple le caractère '$') dans une feuille excel.

Est ce possible ou non?
 
Bonjour Fraille


C'est possible, tu dois boucler sur toutes les cellules de la feuille et décompter par cellule le nombre de caractères correspondant à ton critère.

dim cel as range
dim caract as string
dim nbcaract, totalcaract as double
for each cel in selection ' par exemple
chaine=cel.value
nbcaract=0
for i = 1 to len(chaine)
if mid(chaine,i,1)=caract then
nbcaract=nbcaract+1
endif

totalcaract=totalcaract+nbcaract
next

msgbox caract & ' trouvé ' & totalcaract & ' fois'
end sub

macro non testé mais l'esprit y est.
 
bonjour
Un exemple de fonction à installé dans un module qui compte le nombre d'ocurrence d'une'valeur' dans une zone

Function compte(valeur, zone As Range)
Set maplage = zone
For Each i In maplage
For n = 1 To Len(i)
If Mid(i, n, 1) = valeur Then compte = compte + 1
Next
Next

End Function
 
re


testé et corrigé

Sub comptecaract()
Dim cel As Range
Dim caract As String
Dim nbcaract, totalcaract As Double
caract = 'f'
For Each cel In Selection ' par exemple
chaine = cel.Value
nbcaract = 0
For i = 1 To Len(chaine)
If Mid(chaine, i, 1) = caract Then
nbcaract = nbcaract + 1
End If


Next
totalcaract = totalcaract + nbcaract
Next
MsgBox caract & ' trouvé ' & totalcaract & ' fois'
End Sub
 
lool merci pour le code.

Mais si nous ne travaillons pas sur une selection mais sur une feuille entière dont nous ne connaissons pas la taille, existe t il un moyen d'utiliser cette fonction? Bien que je puisse surdimensionner ma selection (par exemple en prennant un tableau de 65000 cellules), y a til plus efficace?
 
Bonjour

Dans une feuille de calcul, tu peux directement utiliser la fonction =NB.SI(Feuil1!1:65536;'*$*'). Attention, cette formule n'est pas à mettre dans la feuille 'Feuil1', sous peine d'avoir un message d'erreur indiquant 'référence circulaire'.

@+Jean-Marie
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
  • Question Question
Réponses
5
Affichages
246
Didierpasdoué
D
Réponses
14
Affichages
866
Réponses
4
Affichages
263
Retour