extraires une sous-chaine entre deux caractères

Le
Jose SISA
Bonjour,
je cherche à extraire
une "sous-chaine" entre le 3ième "/" et le 4ième .

Trouve me dit à quel endroit se trouve le "/"
mais, j'en ai plusieurs , comment lui dire
que je ne veux que entre le 3ième "/" et le 4ième "/".

Merci pour votre
Aide
José
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 4
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gloops
Le #24378071
Jose SISA a écrit, le 05/04/2012 11:52 :
Bonjour,
je cherche à extraire
une "sous-chaine" entre le 3ième "/" et le 4ième .

Trouve me dit à quel endroit se trouve le "/"
mais, j'en ai plusieurs , comment lui dire
que je ne veux que entre le 3ième "/" et le 4ième "/".

Merci pour votre
Aide
José



Bonjour,


Spl = Split(string, "/")

For N = 0 to UBound(Spl)
Debug.Print N, Spl(N)
Next

Et conclue ensuite en fonction de ce que tu vois dans la fenêtre
d'exécution.

J'ai une hésitation sur la déclaration de Spl, et là on m'appelle. Je
crois que c'est Dim Spl() As String, mais je ne suis plus très sûr,
alors je l'ai testé en Variant.
MichD
Le #24378231
Bonjour,

Dans un module standard du fichier où se déroule l'action, copie
la fonction personnalisée suivante :

'------------------------------------------------------------------------
Function LeSplit(Expression As String, _
Séparateur As String, _
Élément As Integer)
LeSplit = Split(Expression, Séparateur)(Élément - 1)
End Function
'------------------------------------------------------------------------

Dans ta cellule, pour extraire l'élément de la chaîne désirée en supposant
qu'elle se retrouve en A1, tu inscris la formule suivante :

=Lesplit(A1;"/";3)

A1 : où se retrouve la chaîne de caractères
"/" : le séparateur d'éléments "/" mais tu pourrais utiliser la fonction avec d'autres séparateurs le cas échéant.
3 : c'est le numéro de la section que tu veux obtenir dans ta chaîne de caractères.


MichD
------------------------------------------
bcar
Le #24378301
En supposant que ton texte soit en A1 et que tu aimes les formules a
rallonge :

=SIERREUR(GAUCHE(DROITE(A1;NBCAR(A1)-TROUVE("/";A1;TROUVE("/";A1;TROUVE("/";A1;1)+1)+1));TROUVE("/";DROITE(A1;NBCAR(A1)-TROUVE("/";A1;TROUVE("/";A1;TROUVE("/";A1;1)+1)+1)))-1);"PAS
ASSEZ DE ""/""")

Heureusement que tu n'avais pas demandé entre le 17ème et le 31ème...
Si tu as la possibilité de faire du vba, écris toi une fonction split ce
sera plus simple

Le 05/04/2012 11:52, Jose SISA a écrit :
Bonjour,
je cherche à extraire
une "sous-chaine" entre le 3ième "/" et le 4ième .

Trouve me dit à quel endroit se trouve le "/"
mais, j'en ai plusieurs , comment lui dire
que je ne veux que entre le 3ième "/" et le 4ième "/".

Merci pour votre
Aide
José
Jose SISA
Le #24378461
Bonjour,
merci pour vos réponses.

je dois avoir la tete dans le "biiip" ...

ma chaine est par exemple :

aaa//aaaaaaa/bbbbb/cccccc/dddddd/

j'aimerai bbbbb , j'aimerai
utiliser les fonctions STXT ou GAUCHE ou DROITE
mais je n'arrive pas à les "emboiter" correctement.

Merci
José



On 5 avr, 13:46, "MichD"
Bonjour,

Dans un module standard du fichier où se déroule l'action, copie
la fonction personnalisée suivante :

'------------------------------------------------------------------------
Function LeSplit(Expression As String, _
                Séparateur As String, _
                Élément As Integer)
LeSplit = Split(Expression, Séparateur)(Élément - 1)
End Function
'------------------------------------------------------------------------

Dans ta cellule, pour extraire l'élément de la chaîne désirée e n supposant
qu'elle se retrouve en A1, tu inscris la formule suivante :

=Lesplit(A1;"/";3)

A1 : où se retrouve la chaîne de caractères
"/" : le séparateur d'éléments "/"  mais tu pourrais utiliser la fonction avec d'autres séparateurs le cas échéant.
3   : c'est le numéro de la section que tu veux obtenir dans ta cha îne de caractères.

MichD
------------------------------------------
isabelle
Le #24378531
bonjour José,

si tu as installé MoreFunc tu peut utiliser la fonction STEXTE

=STEXTE(A1;3;1;"/")


--
isabelle



Le 2012-04-05 08:39, Jose SISA a écrit :
Bonjour,
merci pour vos réponses.

je dois avoir la tete dans le "biiip" ...

ma chaine est par exemple :

aaa//aaaaaaa/bbbbb/cccccc/dddddd/

j'aimerai bbbbb , j'aimerai
utiliser les fonctions STXT ou GAUCHE ou DROITE
mais je n'arrive pas à les "emboiter" correctement.

Merci
José
isabelle
Le #24378521
ps,

il y a aussi la possibilité d'utiliser la commande Convertir

--
isabelle



Le 2012-04-05 09:11, isabelle a écrit :
bonjour José,

si tu as installé MoreFunc tu peut utiliser la fonction STEXTE

=STEXTE(A1;3;1;"/")


MichD
Le #24378581
Si tu aimes c'est longue formule!


Si ta chaîne de caractères est en A1
=STXT(A1;TROUVE("/";A1;TROUVE("/";A1;1)+1)+1;TROUVE("/";A1;TROUVE("/";A1;1)+2)-TROUVE("/";A1;TROUVE("/";A1;1)+1)-1)

La formule retourne cette section de la chaîne : "aaaaaaa"

MichD
------------------------------------------
Jacquouille
Le #24379301
Bonsoir
A condition que ta chaine aie chaque fois la même configuration....et
qu'elle soit en A1
=STXT(A1;TROUVE("b";A1);5)

Jacquouille

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


Bonjour,
merci pour vos réponses.

je dois avoir la tete dans le "biiip" ...

ma chaine est par exemple :

aaa//aaaaaaa/bbbbb/cccccc/dddddd/

j'aimerai bbbbb , j'aimerai
utiliser les fonctions STXT ou GAUCHE ou DROITE
mais je n'arrive pas à les "emboiter" correctement.

Merci
José



On 5 avr, 13:46, "MichD"
Bonjour,

Dans un module standard du fichier où se déroule l'action, copie
la fonction personnalisée suivante :

'------------------------------------------------------------------------
Function LeSplit(Expression As String, _
Séparateur As String, _
Élément As Integer)
LeSplit = Split(Expression, Séparateur)(Élément - 1)
End Function
'------------------------------------------------------------------------

Dans ta cellule, pour extraire l'élément de la chaîne désirée en supposant
qu'elle se retrouve en A1, tu inscris la formule suivante :

=Lesplit(A1;"/";3)

A1 : où se retrouve la chaîne de caractères
"/" : le séparateur d'éléments "/" mais tu pourrais utiliser la fonction
avec d'autres séparateurs le cas échéant.
3 : c'est le numéro de la section que tu veux obtenir dans ta chaîne de
caractères.

MichD
------------------------------------------
Jose SISA
Le #24380531
Bonjour et merci pour vos suggestions et exemples.

j'ai bien peur que cela ne soit pas suffisant, car
le 2ème et le 3ème "/" ne sont pas formément au meme endroit
ni séparé par un même nombre de caractères.

il faudrait arriver à trouver la position A du 1ier "/" puis la
position B du 2ème "/"

oui extraire la chaine entre A et le nb de caractères B-A ...
le tout en évitant les macro, notre systeme est un tit peu
"vérouillé" ...
j'en reste baba ...

Merci pour votre aide.
José




On 5 avr, 20:42, "Jacquouille"
Bonsoir
A condition que ta chaine aie chaque fois la même configuration....et
qu'elle soit en A1
=STXT(A1;TROUVE("b";A1);5)

Jacquouille

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


Bonjour,
merci pour vos réponses.

je dois avoir la tete dans le "biiip" ...

ma chaine est par exemple :

aaa//aaaaaaa/bbbbb/cccccc/dddddd/

j'aimerai bbbbb  , j'aimerai
utiliser les fonctions STXT ou GAUCHE ou DROITE
mais je n'arrive pas à les "emboiter" correctement.

Merci
José

On 5 avr, 13:46, "MichD"






> Bonjour,

> Dans un module standard du fichier où se déroule l'action, copie
> la fonction personnalisée suivante :

> '---------------------------------------------------------------------- --
> Function LeSplit(Expression As String, _
>                 Séparateur As String, _
>                 Élément As Integer)
> LeSplit = Split(Expression, Séparateur)(Élément - 1)
> End Function
> '---------------------------------------------------------------------- --

> Dans ta cellule, pour extraire l'élément de la chaîne désirée en supposant
> qu'elle se retrouve en A1, tu inscris la formule suivante :

> =Lesplit(A1;"/";3)

> A1 : où se retrouve la chaîne de caractères
> "/" : le séparateur d'éléments "/"  mais tu pourrais utiliser l a fonction
> avec d'autres séparateurs le cas échéant.
> 3   : c'est le numéro de la section que tu veux obtenir dans ta cha îne de
> caractères.

> MichD
> ------------------------------------------
Gloops
Le #24380651
Jose SISA a écrit, le 06/04/2012 10:19 :
Bonjour et merci pour vos suggestions et exemples.

j'ai bien peur que cela ne soit pas suffisant, car
le 2ème et le 3ème "/" ne sont pas formément au meme endroit
ni séparé par un même nombre de caractères.

il faudrait arriver à trouver la position A du 1ier "/" puis la
position B du 2ème "/"

oui extraire la chaine entre A et le nb de caractères B-A ...
le tout en évitant les macro, notre systeme est un tit peu
"vérouillé" ...
j'en reste baba ...



Mais après tout, si il existe une fonction exprès pour, c'est peut-ê tre
pour quelque chose ?
Publicité
Poster une réponse
Anonyme