Extraire Chaine

Le
Dante Huapaya
Bonjour a tous,

J'ai une colonne sur laquelle il y a 9 chaines possibles que j'aimerais
extraire.
l'example qui vaut mille mots est:
(Chaines possibles: ASA, APA, DPD, etc)
Chaque chaine est juste une fois sur chaque ligne

Ma Colonne
ES55KK APA ZZZZZ
ES ASA AUTRETGH
ES599BPLUSLOIN DPD CERPI
Comment extraire ces chaines qui peuvent se retrouver n"importe ou sur
la cellule.
Merci de votre aide
Dante
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #20580941
Bonsoir,


=INDEX({"ASA";"APA";"DPD"};EQUIV(1;EQUIV("*"&{"ASA";"APA";"DPD"}
&"*";A1;0);0))
Valider avec maj+ctrl+entrée

JB
http://boisgontierjacques.free.fr/


On 18 nov, 18:41, Dante Huapaya
Bonjour a tous,

J'ai une colonne sur laquelle il y a 9 chaines possibles que j'aimerais
extraire.
l'example qui vaut mille mots est:
(Chaines possibles: ASA, APA, DPD, etc)
Chaque chaine est juste une fois sur chaque ligne

Ma Colonne
ES55KK APA ZZZZZ
ES ASA AUTRETGH
ES599BPLUSLOIN DPD CERPI
Comment extraire ces chaines qui peuvent se retrouver n"importe ou sur
la cellule.
Merci de votre aide
Dante


garnote
Le #20581091
Bonsoir Dante,

Une fonction personnalisée, peut-être :
(à adapter au nombre de sous-chaînes)

Public Function extrait(c As Range) As String
ch = Array("ASA", "APA", "DPD")
For i = 0 To UBound(ch)
p = InStr(1, c.Value, ch(i))
If p > 0 Then
extrait = ch(i)
Exit Function
End If
Next i
extrait = ""
End Function

Exemple : =extrait(A1)

Serge



"Dante Huapaya" message de news:
Bonjour a tous,

J'ai une colonne sur laquelle il y a 9 chaines possibles que j'aimerais
extraire.
l'example qui vaut mille mots est:
(Chaines possibles: ASA, APA, DPD, etc)
Chaque chaine est juste une fois sur chaque ligne

Ma Colonne
ES55KK APA ZZZZZ
ES ASA AUTRETGH
ES599BPLUSLOIN DPD CERPI
Comment extraire ces chaines qui peuvent se retrouver n"importe ou sur
la cellule.
Merci de votre aide
Dante




garnote
Le #20581381
Ma dernière fonction n'inscrit rien si,
par exemple, aPa, aSA, dpD, ...
apparaissent dans tes cellules.
Si tu veux voir apparaître ASA, APA ou DPD
dans ces cas-là, remplace :
p = InStr(1, c.Value, ch(i))
par
p = InStr(1, UCase(c.Value), ch(i))

Serge

"garnote" %
Bonsoir Dante,

Une fonction personnalisée, peut-être :
(à adapter au nombre de sous-chaînes)

Public Function extrait(c As Range) As String
ch = Array("ASA", "APA", "DPD")
For i = 0 To UBound(ch)
p = InStr(1, c.Value, ch(i))
If p > 0 Then
extrait = ch(i)
Exit Function
End If
Next i
extrait = ""
End Function

Exemple : =extrait(A1)

Serge



"Dante Huapaya" message de news:
Bonjour a tous,

J'ai une colonne sur laquelle il y a 9 chaines possibles que j'aimerais
extraire.
l'example qui vaut mille mots est:
(Chaines possibles: ASA, APA, DPD, etc)
Chaque chaine est juste une fois sur chaque ligne

Ma Colonne
ES55KK APA ZZZZZ
ES ASA AUTRETGH
ES599BPLUSLOIN DPD CERPI
Comment extraire ces chaines qui peuvent se retrouver n"importe ou sur
la cellule.
Merci de votre aide
Dante








Dante Huapaya
Le #20582071
Merci enormement, ca me sauve un temps fou!

Au plaisir

Dante

"JB" a écrit :

Bonsoir,


=INDEX({"ASA";"APA";"DPD"};EQUIV(1;EQUIV("*"&{"ASA";"APA";"DPD"}
&"*";A1;0);0))
Valider avec maj+ctrl+entrée

JB
http://boisgontierjacques.free.fr/


On 18 nov, 18:41, Dante Huapaya
> Bonjour a tous,
>
> J'ai une colonne sur laquelle il y a 9 chaines possibles que j'aimerais
> extraire.
> l'example qui vaut mille mots est:
> (Chaines possibles: ASA, APA, DPD, etc)
> Chaque chaine est juste une fois sur chaque ligne
>
> Ma Colonne
> ES55KK APA ZZZZZ
> ES ASA AUTRETGH
> ES599BPLUSLOIN DPD CERPI
> Comment extraire ces chaines qui peuvent se retrouver n"importe ou sur
> la cellule.
> Merci de votre aide
> Dante

.



SylVBA
Le #20582161
Bonsoir,

Bravo à JB alors celle la elle me scotche .....

Un Index Equiv comme cela, jamais vu

A bientot à vous tous,

SylVBA
Dante Huapaya
Le #20596961
Merci beaucoup Garnote,
Cette function me sera utile, dependement mes besoins.
Bonne journée a tous

Dante

"garnote" a écrit :

Ma dernière fonction n'inscrit rien si,
par exemple, aPa, aSA, dpD, ...
apparaissent dans tes cellules.
Si tu veux voir apparaître ASA, APA ou DPD
dans ces cas-là, remplace :
p = InStr(1, c.Value, ch(i))
par
p = InStr(1, UCase(c.Value), ch(i))

Serge

"garnote" %
> Bonsoir Dante,
>
> Une fonction personnalisée, peut-être :
> (à adapter au nombre de sous-chaînes)
>
> Public Function extrait(c As Range) As String
> ch = Array("ASA", "APA", "DPD")
> For i = 0 To UBound(ch)
> p = InStr(1, c.Value, ch(i))
> If p > 0 Then
> extrait = ch(i)
> Exit Function
> End If
> Next i
> extrait = ""
> End Function
>
> Exemple : =extrait(A1)
>
> Serge
>
>
>
> "Dante Huapaya" > message de news:
>> Bonjour a tous,
>>
>> J'ai une colonne sur laquelle il y a 9 chaines possibles que j'aimerais
>> extraire.
>> l'example qui vaut mille mots est:
>> (Chaines possibles: ASA, APA, DPD, etc)
>> Chaque chaine est juste une fois sur chaque ligne
>>
>> Ma Colonne
>> ES55KK APA ZZZZZ
>> ES ASA AUTRETGH
>> ES599BPLUSLOIN DPD CERPI
>> Comment extraire ces chaines qui peuvent se retrouver n"importe ou sur
>> la cellule.
>> Merci de votre aide
>> Dante
>>
>>
>
>


.



Publicité
Poster une réponse
Anonyme