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

Extraire chaine à partir du 3ième tiret

6 réponses
Avatar
C15
Bonjour à tous et à toutes,


J'ai des références d'articles composées d'une série de caractères séparés
par des tirets.

Je voudrais extraire la chaine de caractères (dont la longueur est variable)
située après le 3ième tiret (dont la position est variable).

Je n'ai rien trouvé sur le net, sur ce forum ou excelabo.


Merci de votre aide.

A+

C15

6 réponses

Avatar
JB
Bonsoir,

On suppose que l'on prend tout après le 3e tiret:

=STXT(A1;TROUVE("-";A1;TROUVE("-";A1;TROUVE("-";A1)+1)+1)+1;999)

JB

On 9 sep, 18:57, " C15" wrote:
Bonjour à tous et à toutes,

J'ai des références d'articles composées d'une série de caractè res séparés
par des tirets.

Je voudrais extraire la chaine de caractères (dont la longueur est vari able)
située après le 3ième tiret (dont la position est variable).

Je n'ai rien trouvé sur le net, sur ce forum ou excelabo.

Merci de votre aide.

A+

C15


Avatar
micdub
Bonjour,

Voici une autre solution... mais en VBA :

Function trancheder(code)
' Extraire la dernière tranche d'un code articulé
' On suppose que le code comporte 3 tirets
Dim machaine
' Séparateur utilisé : le tiret
machaine = Split(code, "-", -1, 1)
trancheder = machaine(3)
End Function

Après avoir créé un module et inséré le code présenté ci-dessus, il suffit
d'utiliser la fonction de la manière suivante : =trancheder(B3)
(B3 contient la référence de l'article à traiter)

Cordialement - Micdub


Bonjour à tous et à toutes,


J'ai des références d'articles composées d'une série de caractères séparés
par des tirets.

Je voudrais extraire la chaine de caractères (dont la longueur est variable)
située après le 3ième tiret (dont la position est variable).

Je n'ai rien trouvé sur le net, sur ce forum ou excelabo.


Merci de votre aide.

A+

C15





Avatar
Trirème
Bonjour,
En complément des autres réponses, sur le site de Laurent Longre
(http://xcell05.free.fr/)
tu trouveras un package de fonctions complémentaires dont une fonction nommée
STEXTE() qui répondra à tes attentes.
Et les autres fonctions valent également le détour.

Cordialement,
Trirème

Bonsoir,

On suppose que l'on prend tout après le 3e tiret:

=STXT(A1;TROUVE("-";A1;TROUVE("-";A1;TROUVE("-";A1)+1)+1)+1;999)

JB

On 9 sep, 18:57, " C15" wrote:
Bonjour à tous et à toutes,

J'ai des références d'articles composées d'une série de caractères séparés
par des tirets.

Je voudrais extraire la chaine de caractères (dont la longueur est variable)
située après le 3ième tiret (dont la position est variable).

Je n'ai rien trouvé sur le net, sur ce forum ou excelabo.

Merci de votre aide.

A+

C15






Avatar
C15
Bonsoir à tous et à toutes et merci de vos réponses.

J'ai hélas oublié de vous précisé qu'il s'agissait d'une chaîne de
caractères comportant 4 groupes séparés de tirets et que je veux donc
extraire seulement le 3ième groupe.

A ce "détail" près, si l'on peut dire, les réponses proposées fonctionnent
parfaitement (pour extraire tout ce qu'il y a après le 3ième tiret).

Merci de votre aide

A+

C15
"micdub" a écrit dans le message de news:

Bonjour,

Voici une autre solution... mais en VBA :

Function trancheder(code)
' Extraire la dernière tranche d'un code articulé
' On suppose que le code comporte 3 tirets
Dim machaine
' Séparateur utilisé : le tiret
machaine = Split(code, "-", -1, 1)
trancheder = machaine(3)
End Function

Après avoir créé un module et inséré le code présenté ci-dessus, il suffit
d'utiliser la fonction de la manière suivante : =trancheder(B3)
(B3 contient la référence de l'article à traiter)

Cordialement - Micdub


Bonjour à tous et à toutes,


J'ai des références d'articles composées d'une série de caractères
séparés
par des tirets.

Je voudrais extraire la chaine de caractères (dont la longueur est
variable)
située après le 3ième tiret (dont la position est variable).

Je n'ai rien trouvé sur le net, sur ce forum ou excelabo.


Merci de votre aide.

A+

C15







Avatar
Modeste
Bonsour® C15 avec ferveur ;o))) vous nous disiez :

J'ai hélas oublié de vous précisé qu'il s'agissait d'une chaîne de
caractères comportant 4 groupes séparés de tirets et que je veux donc
extraire seulement le 3ième groupe.

A ce "détail" près, si l'on peut dire, les réponses proposées
fonctionnent parfaitement (pour extraire tout ce qu'il y a après le
3ième tiret).


donc entre le 2eme et le 3eme tiret ...
adapté de la formule de JB :
=GAUCHE(STXT(A1;TROUVE("-";A1;TROUVE("-";A1)+1)+1;999);TROUVE("-";STXT(A1;TROUVE("-";A1;TROUVE("-";A1)+1)+1;999))-1)



--
--
@+
;o)))

Avatar
C15
Bonjour Modeste,

Merci de cette parfaite réponse, à moi maintenant de l'analyser pour en
comprendre le raisonnement.

Bonne journée

A+

C15
"Modeste" a écrit dans le message de news:
%234iYMu%
Bonsour® C15 avec ferveur ;o))) vous nous disiez :

J'ai hélas oublié de vous précisé qu'il s'agissait d'une chaîne de
caractères comportant 4 groupes séparés de tirets et que je veux donc
extraire seulement le 3ième groupe.

A ce "détail" près, si l'on peut dire, les réponses proposées
fonctionnent parfaitement (pour extraire tout ce qu'il y a après le
3ième tiret).


donc entre le 2eme et le 3eme tiret ...
adapté de la formule de JB :
=GAUCHE(STXT(A1;TROUVE("-";A1;TROUVE("-";A1)+1)+1;999);TROUVE("-";STXT(A1;TROUVE("-";A1;TROUVE("-";A1)+1)+1;999))-1)



--
--
@+
;o)))