XL 2013 compter le nombre de chaîne caractere dans une colonne

Marco65

XLDnaute Nouveau
Bonjour à tous ,

j'ai une colonne dans laquelle je souhaiterai compter une chaîne de caractère connu. Dans chaque cellule la chaîne de caractère peut apparaitre plusieurs fois. Et j'aimerai avec une commande simple compter le nombre de fois DCL apparaît dans la colonne.

J'ai essaye avec la formule suivante
=(NBCAR(A10)-NBCAR(SUBSTITUE(A10;"DCL";"")))/NBCAR("DCL") qui me retourne la valeur 4 ce qui est normal cependant comment faire pour compter la totalite des cellules qui me donneraient 16 dans mon exemple.

Merci au groupe

Voici ce que j'ai dans ma colonne d'origine :

Cellule A10:
DCL1250RA-
DCL1249RA-
DCL1254MD-
DCL1222GL-
Cellule A11:
DCL2250RA-
DCL2249RA-
DCL2254MD-
DCL2222GL-
Cellule A12:
DCL3250RA-
DCL3249RA-
DCL3254MD-
DCL3222GL-
Cellule A13:
DCL4250RA-
DCL4249RA-
DCL4254MD-
DCL4222GL-
A....

Nombre de fois ou la chaine de caractere DCL ou RA ou GL apparait.

MB
 

Pièces jointes

  • Essai1.xls
    27 KB · Affichages: 35
  • Essai1.xls
    27 KB · Affichages: 30
  • Essai1.xlsx
    11 KB · Affichages: 31
  • Essai1.xlsx
    11 KB · Affichages: 33
  • Essai1.xlsx
    11 KB · Affichages: 32

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour Marco65, djidji59430,

Si j'ai bien compris, un essai par formule matricielle en E5 à tirer vers le bas.()...
VB:
=SOMME((NBCAR($A$10:$A$13)-NBCAR(SUBSTITUE($A$10:$A$13;D5;""))))/NBCAR(D5)


Formule matricielle: Elle doit être validée par la combinaison des touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée comme une formule classique.
Si la validation matricielle est correcte, alors Excel entoure la formule d'accolades {=.......}.
Chaque fois que cette formule sera modifiée, la validation devra se faire par Ctrl+Maj+Entrée. Les accolades apparaissent à la validation et ne doivent pas être saisies au clavier.
 

Pièces jointes

  • Marco65- compter chaine- v1.xls
    35.5 KB · Affichages: 39

PMO2

XLDnaute Accro
Bonjour à tous,
Une autre piste avec une fonction personnalisée qui a recourt au VBA.
Copiez le code suivant dans un module Standard :

Function NB_OCCUR(Recherche As String, Plage As Range) As Long
Dim R As Range
Dim C As Range
Dim i&
Dim cpt&
'---
If TypeName(Selection) <> "Range" Then Exit Function
For Each C In Plage
For i& = 1 To Len(C)
If UCase(Mid(C, i&, Len(Recherche))) = UCase(Recherche) Then
cpt& = cpt& + 1
End If
Next i&
Next C
NB_OCCUR = cpt&
End Function

Exemple d'utilisation :
Tapez =NB_OCCUR("DCL";A10:A13) dans une cellule libre.
 

Pièces jointes

  • Essai1 fonction personnalisée_pmo.xlsm
    18.6 KB · Affichages: 35

Marco65

XLDnaute Nouveau
Merci pour vos réponses si rapides : vous etes des champions !!! Finalement PMO2 me va très bien ainsi que la proposition de mapomme . Le copier remplacé est pas mal mais vous vous doutez qu'il s'agisse d'un tableau avec plus de 250000 lignes donc la solutions VBA sera retenue car le projet a un code VBA à suivre.
Bon WE à tous et celles qui m'ont repondu.
CDT MB
 

Discussions similaires

Statistiques des forums

Discussions
315 103
Messages
2 116 235
Membres
112 695
dernier inscrit
ben44115