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
Bonsoir,

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

'--
'lSteph

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
Bonsoir,

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

'--
'lSteph

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
Précision entrer la formule ainsi:

=cptIn(N1;"vts")


Bonsoir,

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

'--
'lSteph

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
Jacky
Bonsoir Stéphane

Et si Monsieur "Str" se trouve en queue de peloton ???
... - Len(Str)
;-))


--
Bonne nuit
JJ


"LSteph" a écrit dans le message de news:
%
Précision entrer la formule ainsi:

=cptIn(N1;"vts")


Bonsoir,

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

'--
'lSteph

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
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
Salut Jacky,

Je viens de m'en rendre compte il y a dix minutes à nouveau testé et envoyé
Comme il y a des jours où on les collectionne dis moi si tu vois autre
chose.

Merci.

Stéphane


Bonsoir Stéphane

Et si Monsieur "Str" se trouve en queue de peloton ???
... - Len(Str)
;-))






Avatar
Nistan
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
Jacky
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é ??

--
Salutations
JJ


"LSteph" a écrit dans le message de news:
%
Salut Jacky,

Je viens de m'en rendre compte il y a dix minutes à nouveau testé et
envoyé
Comme il y a des jours où on les collectionne dis moi si tu vois autre
chose.

Merci.

Stéphane


Bonsoir Stéphane

Et si Monsieur "Str" se trouve en queue de peloton ???
... - Len(Str)
;-))








Avatar
Jacky
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
LSteph
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






1 2