OVH Cloud OVH Cloud

traitement d'une chaine de caractere

13 réponses
Avatar
seb leg
BOnjour,

voici la typologie de la chaine de caracteres :
1p(11)3p2p(09)7p1p3p5p5(10)5p

je cherche une formule ou function qui me donnerai uniquement les
chiffres en excluant les chiffres entre () ce qui devrait me donner en
resultat.
132713555

merci de votre aide.

3 réponses

1 2
Avatar
Jacquouille
à force de fréquenter Jean-Paul, on attrape ses manières. je ne risquais
donc pas grand chose. -))
Soyeux zani et grôôôsses bises à Madame.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"michel ou sam" a écrit dans le message de groupe de discussion :
4e36fd9c$0$18817$


Bonjour,
pas bête, c'est vrai qu'on a parfois la tête dans le guidon.

A la tienne aussi (comment sais tu que j'étais en train de fêter
l'anniversaire de ma femme ?)

Michel

"Jacquouille" a écrit dans le message de news:
4e36ddb8$0$5042$
Aaaaaah, je comprends.

Mon "Remplacer" provient de :

Barre outils / Edition / Remplacer / Rechercher (*) / Remplacer --> rien /
Remplacer tout / fermer.

Fonctionne aussi sur plusieurs cellules en même temps.....

A la tienne, Etienne. -))
Au demandeur de choisir.
Bonne fin de journée

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"michel ou sam" a écrit dans le message de groupe de discussion :
4e36a2b4$0$30750$


re-bonjour,
je suis à jour de mes vaccinations ;-)

mon REMPLACER à moi s'écrit :
REMPLACER(ancien_texte;no_départ;no_car;nouveau_texte)
je ne peux donc pas l'utiliser car il a besoin de la position du caractère

J'ai donc utilisé SUBSTITUE
SUBSTITUE(texte;ancien_texte;nouveau_texte;no_position)
mais l'élément de remplacement "*" est considéré comme le texte.
J'ai été voir dans les options d'Excel, je n'ai rien trouvé.

Autrement, j'ai fait une fonction :

Public Function Otertexte(cellule As Range)
Texte = ""
Flag = 0
c = cellule.Value
For i = 1 To Len(c)
If (Mid(c, i, 1)) = "(" Then Flag = 1
If (Mid(c, i, 1)) = ")" Then
Flag = 0
Else
If (Mid(c, i, 1)) > "/" And (Mid(c, i, 1)) < ":" And Flag = 0
Then
Texte = Texte & Mid(c, i, 1)
End If
End If
Next i
Otertexte = Texte
End Function

Michel

"Jacquouille" a écrit dans le message de news:
4e369842$0$5033$
Salut Michel

je suis vraiment surpris, car, d'habitude, c'est chez moi que quelque
chose ne fonctionne pas.
je viens de refaire le test et ça fonctionne très bien.
plus fort encore.--(*) donne le même résultat que (**), mais pas ().
je travaille aussi avec 2003.
As-tu bien payé toutes tes taxes? Ne serait-ce pas une mesure de
rétorsion de quelque sombre puissance maléfique ?
Laisses-tu bien la case "remplacer par " VIDE ?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"michel ou sam" a écrit dans le message de groupe de discussion :
4e368959$0$30793$

Bonjour Jacqouille,
le remplacer (**) ne fonctionne pas chez moi (Excel 2003)
J'ai réussi à réduire un peu la longueur de la formule :
=SUBSTITUE(REMPLACER(REMPLACER(REMPLACER(A2;CHERCHE("(";A2);4;"");CHERCHE("(";REMPLACER(A2;CHERCHE("(";A2);4;""));4;"");CHERCHE("(";REMPLACER(REMPLACER(A2;CHERCHE("(";A2);4;"");CHERCHE("(";REMPLACER(A2;CHERCHE("(";A2);4;""));4;""));4;"");"p";"")
Michel

"Jacquouille" a écrit dans le message de news:
4e367e22$0$14249$
Bonjour
Je fais simplement deux fois "remplacer" par rien du tout.
1) remplacer p par ---> laisser vide --> Ok
2) remplacer (**) par --> laisser vide --OK

et youplà, on obtient

132713555

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"seb leg" a écrit dans le message de groupe de discussion :


BOnjour,

voici la typologie de la chaine de caracteres :
1p(11)3p2p(09)7p1p3p5p5(10)5p

je cherche une formule ou function qui me donnerai uniquement les
chiffres en excluant les chiffres entre () ce qui devrait me donner en
resultat.
132713555

merci de votre aide.






Avatar
seb leg
BOnjour,

merci

non la lettre peu changer n'importe laquelle.

merci de votre aide.




On 1 août, 21:38, "Jacquouille" wrote:
à force de fréquenter Jean-Paul, on attrape ses manières.  je ne risquais
donc pas grand chose.  -))
Soyeux zani et grôôôsses bises à Madame.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"michel ou sam"  a écrit dans le message de groupe de discussion :
4e36fd9c$0$18817$

Bonjour,
pas bête, c'est vrai qu'on a parfois la tête dans le guidon.

A la tienne aussi (comment sais tu que j'étais en train de fêter
l'anniversaire de ma femme ?)

Michel

"Jacquouille" a écrit dans le message de news:
4e36ddb8$0$5042$







> Aaaaaah, je comprends.

> Mon "Remplacer" provient de :

> Barre outils / Edition / Remplacer / Rechercher (*) / Remplacer --> rie n /
> Remplacer tout / fermer.

> Fonctionne aussi sur plusieurs cellules en même temps.....

> A la tienne, Etienne. -))
> Au demandeur de choisir.
> Bonne fin de journée

> Jacquouille

> " Le vin est au repas ce que le parfum est à la femme."
> "michel ou sam"  a écrit dans le message de groupe de discussion :
> 4e36a2b4$0$30750$

> re-bonjour,
> je suis à jour de mes vaccinations ;-)

> mon REMPLACER à moi s'écrit :
> REMPLACER(ancien_texte;no_départ;no_car;nouveau_texte)
> je ne peux donc pas l'utiliser car il a besoin de la position du caract ère

> J'ai donc utilisé SUBSTITUE
> SUBSTITUE(texte;ancien_texte;nouveau_texte;no_position)
> mais l'élément de remplacement "*" est considéré comme le texte .
> J'ai été voir dans les options d'Excel, je n'ai rien trouvé.

> Autrement, j'ai fait une fonction :

> Public Function Otertexte(cellule As Range)
> Texte = ""
> Flag = 0
> c = cellule.Value
> For i = 1 To Len(c)
>        If (Mid(c, i, 1)) = "(" Then Flag = 1
>        If (Mid(c, i, 1)) = ")" Then
>        Flag = 0
>        Else
>            If (Mid(c, i, 1)) > "/" And (Mid(c, i, 1)) < ":" And Flag = 0
> Then
>                Texte = Texte & Mid(c, i, 1)
>            End If
>        End If
> Next i
> Otertexte = Texte
> End Function

> Michel

> "Jacquouille" a écrit dans le message de new s:
> 4e369842$0$5033$
>> Salut Michel

>> je suis vraiment surpris, car, d'habitude, c'est chez moi que quelque
>> chose ne fonctionne pas.
>> je viens de refaire le test et ça fonctionne très bien.
>> plus fort encore.--(*)  donne le même résultat que (**), mais pa s ().
>> je travaille aussi avec 2003.
>> As-tu bien payé toutes tes taxes?  Ne serait-ce pas une mesure de
>> rétorsion de quelque sombre puissance maléfique ?
>> Laisses-tu bien la case "remplacer par "  VIDE ?

>> Jacquouille

>> " Le vin est au repas ce que le parfum est à la femme."
>> "michel ou sam"  a écrit dans le message de groupe de discussion :
>> 4e368959$0$30793$

>> Bonjour Jacqouille,
>> le  remplacer (**) ne fonctionne pas chez moi (Excel 2003)
>> J'ai réussi à réduire un peu la longueur de la formule :
>> =SUBSTITUE(REMPLACER(REMPLACER(REMPLACER(A2;CHERCHE("(";A2);4;"");CH ERCHE(" (";REMPLACER(A2;CHERCHE("(";A2);4;""));4;"");CHERCHE("(";REMPLACER( REMPLACE R(A2;CHERCHE("(";A2);4;"");CHERCHE("(";REMPLACER(A2;CHERCHE("(";A2 );4;"")); 4;""));4;"");"p";"")
>> Michel

>> "Jacquouille" a écrit dans le message de ne ws:
>> 4e367e22$0$14249$
>>> Bonjour
>>> Je fais simplement deux fois "remplacer" par rien du tout.
>>> 1) remplacer p par --->   laisser vide  -->  Ok
>>> 2) remplacer (**) par -->  laisser vide --OK

>>> et youplà, on obtient

>>> 132713555

>>> Jacquouille

>>> " Le vin est au repas ce que le parfum est à la femme."
>>> "seb leg"  a écrit dans le message de groupe de discussion :
>>>

>>> BOnjour,

>>> voici la typologie de la chaine de caracteres :
>>> 1p(11)3p2p(09)7p1p3p5p5(10)5p

>>> je cherche une formule ou function qui me donnerai uniquement les
>>> chiffres en excluant les chiffres entre () ce qui devrait me donner e n
>>> resultat.
>>> 132713555

>>> merci de votre aide.
Avatar
LSteph
Bonjour,

Function StN(myStr As String) As String
Dim i As Long, myC As String
Do While i < Len(myStr)
i = i + 1
myC = Mid(myStr, i, 1)
Select Case myC
Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
StN = StN & myC
Case "("
i = i + 3
End Select
Loop
End Function

'LSteph

On Aug 1, 9:43 am, seb leg wrote:
BOnjour,

voici la typologie de la chaine de caracteres :
1p(11)3p2p(09)7p1p3p5p5(10)5p

je cherche une formule ou function qui me donnerai uniquement les
chiffres en excluant les chiffres entre () ce qui devrait me donner en
resultat.
132713555

merci de votre aide.
1 2