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

Recherche d'un caractère dans une chaîne

12 réponses
Avatar
Nicolas B.
Bonsoir à toutes et à tous,

J'ai une chaîne de caractères String, par exemple "10.14.227.21.3", et
j'aimerais connaître par VBA le nombre de points que contient cette chaîne
(4 dans l'exemple). Comment est-ce possible ?

Merci d'avance.

--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC

10 réponses

1 2
Avatar
Philippe.R
Bonsoir Nicolas,
A partir d'une formule de feuille de ChrisV, à qui j'adresse mes humbles salutations :

ActiveCell.Value = Evaluate(Len([A1]) - Len(Application.WorksheetFunction.Substitute([A1], ".",
"")))

les données étant supposées en A1
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"Nicolas B." a écrit dans le message de
news:
Bonsoir à toutes et à tous,

J'ai une chaîne de caractères String, par exemple "10.14.227.21.3", et
j'aimerais connaître par VBA le nombre de points que contient cette chaîne
(4 dans l'exemple). Comment est-ce possible ?

Merci d'avance.

--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC




Avatar
Nicolas B.
Super, ça marche !
Merci beaucoup.
:-)

--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Philippe.R wrote:
Bonsoir Nicolas,
A partir d'une formule de feuille de ChrisV, à qui j'adresse mes
humbles salutations :

ActiveCell.Value = Evaluate(Len([A1]) -
Len(Application.WorksheetFunction.Substitute([A1], ".", "")))

les données étant supposées en A1

"Nicolas B." a écrit dans le
message de news:
Bonsoir à toutes et à tous,

J'ai une chaîne de caractères String, par exemple "10.14.227.21.3",
et
j'aimerais connaître par VBA le nombre de points que contient cette
chaîne (4 dans l'exemple). Comment est-ce possible ?

Merci d'avance.

--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC




Avatar
Bourby
Bonjour,

Ce genre de code répond-il à ta question?
Ici, une fonction utilisable dans une cellule de ton choix.
A adapter à ton contexte:

sub nbPoints(maCellule as Range)
dim maChaîne as String
maChaîne=maCellule.Text
nbPoints=0
i=0
Do While i < Len(maChaîne)
i = i + 1
If Mid(maChaîne, i, 1) = "." Then nbPoints=nbPoints+1
Loop
end sub

Cordialement

Bourby


"Nicolas B." a écrit dans le message news:

Bonsoir à toutes et à tous,

J'ai une chaîne de caractères String, par exemple "10.14.227.21.3", et
j'aimerais connaître par VBA le nombre de points que contient cette chaîne
(4 dans l'exemple). Comment est-ce possible ?

Merci d'avance.

--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC




Avatar
sabatier
que sont mes amis devenus
que j'avais de si près tenus
et tant aimés
ils ont été trop clairsemés
wakan tanka les a ôtés
pauvre cohorte

(extrait de ru-th veau....non, non, pardon rutebeuf)


Philippe.R a écrit:

ChrisV, à qui j'adresse mes humbles salutations :


Avatar
Daniel.M
Salut Philippe,

Ah ce saupoudrage d'Evaluate partout.
Je sais à qui la faute. ;-)

Sans Evaluate:
Resultat = Len([A1]) - _
Len(Application.WorksheetFunction.Substitute([A1], ".", ""))


Avec Evaluate (avant qu'AV ne rapplique)
Resultat = [Len(A1) - Len(Substitute(A1, ".", ""))]

Salutations,

Daniel M.

"Philippe.R" wrote in message
news:blsh08$od2$
Bonsoir Nicolas,
A partir d'une formule de feuille de ChrisV, à qui j'adresse mes humbles
salutations :


ActiveCell.Value = Evaluate(Len([A1]) -
Len(Application.WorksheetFunction.Substitute([A1], ".",

"")))

les données étant supposées en A1
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"Nicolas B." a écrit dans le message de
news:
Bonsoir à toutes et à tous,

J'ai une chaîne de caractères String, par exemple "10.14.227.21.3", et
j'aimerais connaître par VBA le nombre de points que contient cette chaîne
(4 dans l'exemple). Comment est-ce possible ?

Merci d'avance.

--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC








Avatar
AV
Ah ce saupoudrage d'Evaluate partout.
Je sais à qui la faute. ;-)


Semez, semez....il en restera toujours qque chose ! ;-)

Avec Evaluate (avant qu'AV ne rapplique)
Resultat = [Len(A1) - Len(Substitute(A1, ".", ""))]


Ca a quand même une autre gueule que les "Application.WorksheetFunction" !
n'est-il pas ?

;-)
AV

Avatar
Daniel.M
Avec Evaluate (avant qu'AV ne rapplique)
Resultat = [Len(A1) - Len(Substitute(A1, ".", ""))]


Ca a quand même une autre gueule que les "Application.WorksheetFunction" !
n'est-il pas ?




:-)

De toute façon, j'aime pas la classe WorksheetMachin (mal implantée dans
quelques cas) et je l'omet assez souvent.

Daniel M.


Avatar
Philippe.R
Merci Daniel !
--
Amicales Salutations

Retirer A_S_ pour répondre.

"Daniel.M" a écrit dans le message de
news:eUFJh%
Salut Philippe,

Ah ce saupoudrage d'Evaluate partout.
Je sais à qui la faute. ;-)

Sans Evaluate:
Resultat = Len([A1]) - _
Len(Application.WorksheetFunction.Substitute([A1], ".", ""))


Avec Evaluate (avant qu'AV ne rapplique)
Resultat = [Len(A1) - Len(Substitute(A1, ".", ""))]

Salutations,

Daniel M.

"Philippe.R" wrote in message
news:blsh08$od2$
Bonsoir Nicolas,
A partir d'une formule de feuille de ChrisV, à qui j'adresse mes humbles
salutations :


ActiveCell.Value = Evaluate(Len([A1]) -
Len(Application.WorksheetFunction.Substitute([A1], ".",

"")))

les données étant supposées en A1
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"Nicolas B." a écrit dans le message de
news:
Bonsoir à toutes et à tous,

J'ai une chaîne de caractères String, par exemple "10.14.227.21.3", et
j'aimerais connaître par VBA le nombre de points que contient cette chaîne
(4 dans l'exemple). Comment est-ce possible ?

Merci d'avance.

--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC












Avatar
Nicolas B.
Merci pour toutes vos réponses.

--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Daniel.M wrote:
Salut Philippe,

Ah ce saupoudrage d'Evaluate partout.
Je sais à qui la faute. ;-)

Sans Evaluate:
Resultat = Len([A1]) - _
Len(Application.WorksheetFunction.Substitute([A1], ".", ""))


Avec Evaluate (avant qu'AV ne rapplique)
Resultat = [Len(A1) - Len(Substitute(A1, ".", ""))]

Salutations,

Daniel M.

"Philippe.R" wrote in message
news:blsh08$od2$
Bonsoir Nicolas,
A partir d'une formule de feuille de ChrisV, à qui j'adresse mes
humbles salutations :

ActiveCell.Value = Evaluate(Len([A1]) -
Len(Application.WorksheetFunction.Substitute([A1], ".",

"")))

les données étant supposées en A1
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"Nicolas B." a écrit dans le
message de news:
Bonsoir à toutes et à tous,

J'ai une chaîne de caractères String, par exemple "10.14.227.21.3",
et j'aimerais connaître par VBA le nombre de points que contient
cette chaîne (4 dans l'exemple). Comment est-ce possible ?

Merci d'avance.

--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC






Avatar
Julien Queinnec
Nicolas B. a écrit dans news::

Bonsoir à toutes et à tous,

J'ai une chaîne de caractères String, par exemple "10.14.227.21.3", et
j'aimerais connaître par VBA le nombre de points que contient cette
chaîne (4 dans l'exemple). Comment est-ce possible ?



J'ai un peu le même problème mais avec une dificulté supplémentaire :

Je désire connaître le nombre de + dans une formule ;

par exemple en A1 j'ai +4+8+9 ;
Les formules fournies permettent d'obtenir le nombre de fois ou un
caractère donné apparaît dans un texte mais dans une formule ?

A priori, il faudrait un fonction qui prend le contenu de la cellule A1
comme du texte (et non pas comme une formule). Est-ce que ça existe ?

Julien Queinnec
--
Tiens, vous avez sorti le vitriol ?

1 2