Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

extraire chaîne de caractères (formule)

C@thy

XLDnaute Barbatruc
Bonjour le forum,

je viens de faire une recherche dans le forum mais il semble que ce que je recherche ne s'y trouve pas...

je souhaiterais récupérer
1- tout ce qui se trouve derrière l'@
2- le 1er mot derrière l'@ (entre l'@ et le point)

de préférence par formule...

j'hésite entre le CHERCHE, le TROUVE, le SUBSTITUTE

ex. toto.titi@xld.lemeilleursite.fr -> 1) xld.lemeilleursite.fr 2) xld

de même tout ce qui est derrière le = dans
bidule(1) = bla bla bla -> bla bla bla
bidule(999) = bling bling -> bling bling

Merci à vous si vous avez une idée sur la question.

Bises

C@thy
 

david84

XLDnaute Barbatruc
Re : extraire chaîne de caractères (formule)

Bonjour C@thy,
es-tu sûr d'avoir bien cherché?
pour ta 1ère demande, simplement :
Code:
=STXT(A1;CHERCHE("@";A1)+1;99)
Pour ta 2ème demande :
Code:
=STXT(A1;CHERCHE("@";A1)+1;CHERCHE(".";STXT(A1;CHERCHE("@";A1)+1;99))-1)
Ceci bien entendu testé à partir du seul exemple que tu as fourni (donc à tester plus avant).
A+
 

Staple1600

XLDnaute Barbatruc
Re : extraire chaîne de caractères (formule)

Bonjour David84


J'étions parti la dessus, mais t'avions été plus prompt
=STXT(A1;CHERCHE("@";A1)+1;CHERCHE(".";A1)-5)


PS: Que penses-tu de l'option D/C ?
 
Dernière édition:

C@thy

XLDnaute Barbatruc
Re : extraire chaîne de caractères (formule)

Bonjour à tous, vous êtes super,

voici où j'en étais (pas optimisé!!!)
=DROITE(A1;NBCAR(STXT(A1;1;TROUVE("@";A1)-1)))

merci à vous
je suis bluffée par la concision (et l'efficacité) de vos formules!

Cela va m'être très utile!!

Bises

C@thy
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : extraire chaîne de caractères (formule)

Re staple,
D/C c'est très bien aussi (et trop peu utilisé à mon goût de manière générale), mais si c@thy a demandé une formule (ceci-dit, elle avait précisé " de préférence"), c'est sûrement qu'elle avait ses raisons.
A+
 

Staple1600

XLDnaute Barbatruc
Re : extraire chaîne de caractères (formule)

RE


Le demandeur a ses préférences, certes
Rien n'interdit d'élargir l'horizion (c'est d'ailleurs tout le sel d'un forum tel qu'XLD)

PS2: Et parfois le demandeur peut s'engager sur une piste qui n'est pas forcément la plus évidente.
Avoir un panel de solutions différentes me semble plus enrichissant qu'une "mono-solution".

PS3: De toute façon, Cathy ne semble pas avoir vu ma suggestion
 

C@thy

XLDnaute Barbatruc
Re : extraire chaîne de caractères (formule)

Hello boyz
Le demandeur a ses préférences, certes
Rien n'interdit d'élargir l'horizon (c'est d'ailleurs tout le sel d'un forum tel qu'XLD)
Avoir un panel de solutions différentes me semble plus enrichissant qu'une "mono-solution".
Tout à fait d'accord, d'ailleurs il est fort possible que j'aie besoin de la solution macro
PS3: De toute façon, Cathy ne semble pas avoir vu ma suggestion
Si si, Staple, j'avais vu ta suggestion, mais elle ne répondait pas au souhait de mes utilisateurs
Le données convertir crée trop de colonnes, et je ne peux en rejouter que 2 à la fin de mon tableau (l'impression du document doit être lisible).

Merci à vous, je suis sûre qu'avec ce post vous allez en dépanner plus d'un(e).

Bises

C@thy
 
Dernière édition:

C@thy

XLDnaute Barbatruc
Re : extraire chaîne de caractères (formule)

Coucou les p'tits loups,

sur ma lancée, j'ai essayé d'écrire ceci :
Code:
Function MAIL(txt$)
Dim fin%, deb%
deb = InStrRev(adresse, "@") + 1
fin = InStrRev(adresse, ".finances")
MAIL = Mid(adresse, deb, fin - deb)
End Function
mais ça me renvoie #valeur! (Arf! Je croyais m'en sortir toute seule!!)
mes adresses mail ont cette tête :
pascal.dupont@direction.finances.gouv.fr
ou bien
pascal.dupont@finances.gouv.fr

j'ai fait le test sur le 1er cas

Bizzz

C@thy
 

C@thy

XLDnaute Barbatruc
Re : extraire chaîne de caractères (formule)

autant pour moi
Code:
Function MAIL(adresse$)
Dim fin%, deb%
deb = InStrRev(adresse, "@") + 1
fin = InStrRev(adresse, ".finances")
MAIL = Mid(adresse, deb, fin - deb)
End Function

toutefois, si la direction est absente je dois mettre "SEC.GEN." (Secrétariat Général)
Bises

C@thy
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : extraire chaîne de caractères (formule)

Re
@c@thy :
mes propositions semblent donner le bon résultat. Est-ce le cas ?
Tu veux une fonction personnalisée ou c'est juste pour l'essai ?

@staple :
Le demandeur a ses préférences, certes
Rien n'interdit d'élargir l'horizion (c'est d'ailleurs tout le sel d'un forum tel qu'XLD)
Tout à fait d'accord.
A+
 

pierrejean

XLDnaute Barbatruc
Re : extraire chaîne de caractères (formule)

Bonsoir C@thy et bises

Salut à tous

Teste deja:

Code:
Function MAIL(txt)
Dim fin%, deb%
deb = InStrRev(txt, "@") + 1
fin = InStrRev(txt, ".finances")
MAIL = Mid(txt, deb, fin - deb)
End Function
 

C@thy

XLDnaute Barbatruc
Re : extraire chaîne de caractères (formule)

merci PJ Toi aussi tu as vu ma bourde...
j'ai écrit ceci (c'est pas très académique mais ça fonctionne :
Code:
Function MAIL(adresse$)
Dim fin%, deb%
deb = InStrRev(adresse, "@") + 1
fin = InStrRev(adresse, "finances")
If deb = fin Then
    MAIL = "Sec.Gen."
Else
    MAIL = Mid(adresse, deb, fin - deb - 1)
End If
End Function
car je n'ai pas toujours le . avant finances, il peut y avoir l'@ direct

Bizz

C@thy
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…