Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Trouver la répétition d'un chaine de caractére dans une cellule

20 réponses
Avatar
Nistan
Bonsoir,

Je fais l'import de données d'une base obdc dans excel, ensuite je recherche
une chaine de caractére dans une cellule qui contient énormément de ligne par
la formule suivante :
=SI(ESTNUM(CHERCHE("*vts*";N01));"rejet";"complet")
maintenant je voudrait pouvoir conter le nombre de fois que *vts* apparait
dans cette cellule.
Comment fais t-on?
Merci

10 réponses

1 2
Avatar
LSteph
;o) Non, j'ai aperçu cela, mon neurone a dit "Steph au dodo"
je n'ai pas eu le choix....


Re...
Tu es loin d'en faire autant que moi...
Perso , ici pour 2 caractères de plus , je me serais passé du - Len(Str)
Mais elle est très bien cette fonction.

Je me suis cassé la tête avec "la recherche de solution " de Modeste de la
nuit dernière
intitulé "Comment mettre le nombre 100 dans une case Excel" 29/11 23h29
"méthode (A +B) / (C + D)
combien de solutions ???"
Je ne suis emmêlé les pédales que j'en ai encore mal à mon neurone
Sans vraiment de résultat satisfaisant. Bouuuuh!!!
J'ai lâchement abandonné pour le moment.
As-tu essayé ??



Avatar
Jacky
Re..
Désolé, je croyais que tu étais rejoindre les bras de Morphée
Bon moi, j'y vais maintenant
--
Bonne nuit
JJ


"LSteph" a écrit dans le message de news:

Bonsoir,
exemple avec 1 colonne de 5000 cellules

http://cjoint.com/?mbaZW61WNe

A partir de chaque caractère de la chaine, si on trouve la chaine on
ajoute 1 à cptIn

Cordialement.

--
lSteph

Bonsoir,
Merci tout d'abord, mais quelqu'un pourrais m'expliquer le code ci
desous. Désolés, en vba je suis plus que nul, donc... je comprend rien..
a j'ai oublier de dire que j'avais un grand nombre de ligne (+ de 4000).
Merci.


Function cptIn(ByRef C As String, Str As String) As Integer
Dim i As Integer
For i = 1 To Len(C) + 1 - Len(Str)
If Mid(C, i, Len(Str)) = Str Then cptIn = cptIn + 1
Next
End Function


Bonsoir,

Je fais l'import de données d'une base obdc dans excel, ensuite je
recherche une chaine de caractére dans une cellule qui contient
énormément de ligne par la formule suivante :
=SI(ESTNUM(CHERCHE("*vts*";N01));"rejet";"complet")
maintenant je voudrait pouvoir conter le nombre de fois que *vts*
apparait dans cette cellule.
Comment fais t-on?
Merci








Avatar
LSteph
...tu sais que Morphée est un homme,
je vais plutôt aller dormir!
;-)

Bonne nuit!

Re..
Désolé, je croyais que tu étais rejoindre les bras de Morphée
Bon moi, j'y vais maintenant


Avatar
JB
Bonjour,

=(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"vts";"")))/3

JB

On 30 nov, 23:05, Nistan wrote:
Bonsoir,

Je fais l'import de données d'une base obdc dans excel, ensuite je reche rche
une chaine de caractére dans une cellule qui contient énormément de ligne par
la formule suivante :
=SI(ESTNUM(CHERCHE("*vts*";N01));"rejet";"complet")
maintenant je voudrait pouvoir conter le nombre de fois que *vts* apparait
dans cette cellule.
Comment fais t-on?
Merci


Avatar
LSteph
Bonjour JB,

Astucieux! Voilà qui évite de recourir à une fonction.
J'aime!

--
lSteph

Bonjour,

=(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"vts";"")))/3

JB

On 30 nov, 23:05, Nistan wrote:
Bonsoir,

Je fais l'import de données d'une base obdc dans excel, ensuite je recherche
une chaine de caractére dans une cellule qui contient énormément de ligne par
la formule suivante :
=SI(ESTNUM(CHERCHE("*vts*";N01));"rejet";"complet")
maintenant je voudrait pouvoir conter le nombre de fois que *vts* apparait
dans cette cellule.
Comment fais t-on?
Merci





Avatar
Nistan
Bonjour,
Merci.
Je vais regarder cela.
NiStAn



Re....
A défaut de LSteph
Lsteph à concocter une fonction personnalisée, qui sera disponible au même
titre que les fonctions d'XL et sous le nom "cptln" (qui peut d'ailleurs
être modifié par un nom de ton choix)
Dans une cellule
=cptIn(N2;"vts")
retourne le nombre de "vts" contenu dans la cellule N2

Un exemple en dira peut-être un peu plus...
http://cjoint.com/?mbaYuJB5zg
--
Bon courage et bonne nuit
JJ


"Nistan" a écrit dans le message de news:

Bonsoir,
Merci tout d'abord, mais quelqu'un pourrais m'expliquer le code ci desous.
Désolés, en vba je suis plus que nul, donc... je comprend rien.. a j'ai
oublier de dire que j'avais un grand nombre de ligne (+ de 4000).

Merci.


Function cptIn(ByRef C As String, Str As String) As Integer
Dim i As Integer
For i = 1 To Len(C) + 1 - Len(Str)
If Mid(C, i, Len(Str)) = Str Then cptIn = cptIn + 1
Next
End Function


Bonsoir,

Je fais l'import de données d'une base obdc dans excel, ensuite je
recherche
une chaine de caractére dans une cellule qui contient énormément de
ligne par
la formule suivante :
=SI(ESTNUM(CHERCHE("*vts*";N01));"rejet";"complet")
maintenant je voudrait pouvoir conter le nombre de fois que *vts*
apparait
dans cette cellule.
Comment fais t-on?
Merci












Avatar
Nistan
Bonjour,
Merci.
Je vais regarder ton fichier
et merci encore pour les explication.
NiStAn



Bonsoir,
exemple avec 1 colonne de 5000 cellules

http://cjoint.com/?mbaZW61WNe

A partir de chaque caractère de la chaine, si on trouve la chaine on
ajoute 1 à cptIn

Cordialement.

--
lSteph

Bonsoir,
Merci tout d'abord, mais quelqu'un pourrais m'expliquer le code ci desous.
Désolés, en vba je suis plus que nul, donc... je comprend rien.. a j'ai
oublier de dire que j'avais un grand nombre de ligne (+ de 4000).

Merci.


Function cptIn(ByRef C As String, Str As String) As Integer
Dim i As Integer
For i = 1 To Len(C) + 1 - Len(Str)
If Mid(C, i, Len(Str)) = Str Then cptIn = cptIn + 1
Next
End Function


Bonsoir,

Je fais l'import de données d'une base obdc dans excel, ensuite je recherche
une chaine de caractére dans une cellule qui contient énormément de ligne par
la formule suivante :
=SI(ESTNUM(CHERCHE("*vts*";N01));"rejet";"complet")
maintenant je voudrait pouvoir conter le nombre de fois que *vts* apparait
dans cette cellule.
Comment fais t-on?
Merci









Avatar
Nistan
Bonjour,

Merci.

Je vais tester toutes vos solutions.

NiStAn



Bonjour,

=(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"vts";"")))/3

JB

On 30 nov, 23:05, Nistan wrote:
Bonsoir,

Je fais l'import de données d'une base obdc dans excel, ensuite je recherche
une chaine de caractére dans une cellule qui contient énormément de ligne par
la formule suivante :
=SI(ESTNUM(CHERCHE("*vts*";N01));"rejet";"complet")
maintenant je voudrait pouvoir conter le nombre de fois que *vts* apparait
dans cette cellule.
Comment fais t-on?
Merci






Avatar
Trirème
Bonjour,
Sans voler le résultat de JB, on pourrait aussi généraliser par :

=(NBCAR(A1)-NBCAR(SUBSTITUE(A1;QUOI;"")))/NBCAR(QUOI)

QUOI étant soit une cellule nommée contenant le mot cherché, soit un nom faisant
référence à ce nom cherché (Insertion, Nom, Définir, Fait référence à)

Cordialement,
Trirème

Bonjour,

Merci.

Je vais tester toutes vos solutions.

NiStAn



Bonjour,

=(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"vts";"")))/3

JB

On 30 nov, 23:05, Nistan wrote:
Bonsoir,

Je fais l'import de données d'une base obdc dans excel, ensuite je recherche
une chaine de caractére dans une cellule qui contient énormément de ligne par
la formule suivante :
=SI(ESTNUM(CHERCHE("*vts*";N01));"rejet";"complet")
maintenant je voudrait pouvoir conter le nombre de fois que *vts* apparait
dans cette cellule.
Comment fais t-on?
Merci







Avatar
Filochard
Une recherche dans les archives avec comme critère de recherche
"NBCAR(SUBSTITUE(A1" devrait totalement vous rassurer !

http://groups.google.com/group/microsoft.public.fr.excel/topics
1 2