Besoin d'aide pour extraire prénom et nom [compliqué]

Lanimateur

XLDnaute Nouveau
Voila j'ai un gros problème je ne sais pas si mon problème peut se résoudre d'ailleurs car il me parait extremment compliqué mais je demande quand même on ne sait jamais.

J'aimerais extraire le prénom et le nom d'une personne qui se trouve dans une cellule, le problème c'est que ce prénom et ce nom peuvent se trouver entre 3 cellule différente (on ne sais jamais laquel) il peut être une fois en A1, une autre en A2 une autre en A3 (jamais plus que 3.

Et l'autre problème c'est que ce prénom et ce nom peuvent être des noms composé ou êtrangers donc n'ont pas forcément 2 mots (exemple : Pierre Alain Bourgeois) ça fait 3 mots au lieu de (Roger Durand)

ceux qui peut aider c'est que ce prénom et ce nom se trouvent toujours en 1ere position et finissent soit par :
- rien du tout après çela
- Durée
- [

exemple :

en A1 je n'ai rien du tout
en A2 je n'ai rien du tout
en A3 ma cellule contient Jean Louis Murat [BAC PRO] j'aimerais que le Jean Louis Murat apparaissent en A4

ou alors un autre exemple :

en A1 je n'ai rien
en A2 j'ai : Frederic Pionnier Durée 5 ans j'aimerais que Frédéric Pionner apparaissent en A4

Voila j'espère être clair je sais que ça sera très compliqué mais si jamais quelqu'un aurait une solution ce serait génial :D

MERCI
 

Lanimateur

XLDnaute Nouveau
Re : Besoin d'aide pour extraire prénom et nom [compliqué]

Arf oui, je n'avais pas regardé assez dans le détail....désolé....
En fait l'ordre des SI(ERREUR()) puis des GAUCHE() est important, et tu en as inversé 2 dans le 2me et le 3me termes....donc la formule ne fonctionnait que si le nom était dans la 1re cellule (évidemment le cas que j'ai testé en recevant ta formule....)

Voici la version corrigée (en espérant que ce soit la seule erreur....)
Code:
=SI(ESTERREUR(CHERCHE("[";A2));SI(ESTERREUR(CHERCHE("(";A2));SI(ESTERREUR( CHERCHE("Durée";A2));A2;GAUCHE(A2;CHERCHE("Durée"; A2)-2));GAUCHE(A2;CHERCHE("(";A2)-2));GAUCHE(A2;CHERCHE("[";A2)-2))& SI(ESTERREUR(CHERCHE("[";B2));SI(ESTERREUR(CHERCHE("(";B2));SI(ESTERREUR(CHERCHE("Durée";B2));B2;GAUCHE(B2;CHERCHE("Durée"; B2)-2));GAUCHE(B2;CHERCHE("(";B2)-2));GAUCHE(B2;CHERCHE("[";B2)-2))& SI(ESTERREUR(CHERCHE("[";C2));SI(ESTERREUR(CHERCHE("(";C2));SI(ESTERREUR(CHERCHE("Durée";C2));C2;GAUCHE(C2;CHERCHE("Durée"; C2)-2));GAUCHE(C2;CHERCHE("(";C2)-2));GAUCHE(C2;CHERCHE("[";C2)-2))

Cordialement


on est effectivement presque bon !
mais malheureusement pas encore tout a fait :(

car il peut effectivement avoir [ ( sur la même phrase exemple :

Ludovic (BAC +5) [1992]

et la il m'ajoute : Ludovic (BAC +5) :(

y a t-il une solution tu penses ? dans le pire des cas si il n'y en a pas c'est pas grave si il m'affiche le (BAC +5) mais dans ce cas la le mieux serait qu'il affiche le prénom et le nom + les parentheses pour tous ceux qui ont des parenthèse sinon après ça va être le gros probleme.

Par contre j'ai un autre qui a :

Maxime Fernandez Durée 2 ans (BTS) et la il m'affiche le durée alors que la il faudrait juste le prénom et le nom...

je sais je suis compliqué mais si la tu arrives a trouver une solution tu es un vrai génie !
 

Pierre-Henry

XLDnaute Junior
Re : Besoin d'aide pour extraire prénom et nom [compliqué]

Oula, si tu flattes mon ego, alors.... :D
Le plus simple serait si, s'il y a plusieurs de tes "marqueurs", sont ils toujours dans le même ordre? (Durée = 3 ans (BTS) [1990]) ou bien tu peux avoir
Durée = 3 ans (BTS) [1990] sur une ligne et
(BTS) Durée = 3 ans [1990] sur la suivante?

Si c'est toujours le même "ordre", alors il "suffit" de revoir l'ordre de nos arguments.....sinon, réponse plus tard (demain ou après demain....désolé, je n'ai pas un accès facile....)

En attente d'une réponse (qui m'arrange de préférence :D )

Cordialement
 

Lanimateur

XLDnaute Nouveau
Re : Besoin d'aide pour extraire prénom et nom [compliqué]

Oula, si tu flattes mon ego, alors.... :D
Le plus simple serait si, s'il y a plusieurs de tes "marqueurs", sont ils toujours dans le même ordre? (Durée = 3 ans (BTS) [1990]) ou bien tu peux avoir
Durée = 3 ans (BTS) [1990] sur une ligne et
(BTS) Durée = 3 ans [1990] sur la suivante?

Si c'est toujours le même "ordre", alors il "suffit" de revoir l'ordre de nos arguments.....sinon, réponse plus tard (demain ou après demain....désolé, je n'ai pas un accès facile....)

En attente d'une réponse (qui m'arrange de préférence :D )

Cordialement


Merci énormément pour ta patience est ton aide c'est vraiment très gentil à toi (non non j'essaye pas de flatté ton égo lol)

en fait j'ai une mauvaise nouvelle je viens de rendre compte qu'il peut y avoir aussi le mot Légèrement :(

voici donc les caractères qui peuvent apparaître après le nom :

Durée
Légèrement
[
(

après pour l'ordre, c'est effectivement un peu plus compliqué malheureusement (sinon ce serait trop facile lol je plaisante bien sur :rolleyes:)

donc le ( peut être placé parfois avant le [
en revanche Durée et Légèrement ne peuvent jamais être ensemble !
et si Durée ou Légèrement sont la dans ce cas la c'est automatiquement avant le ( ou le [

quelques exemple :

Philippe Zlajkowski Durée de la sessions 2 ans (CAP)
Cyril Raspail (DEUG) [2002]

Je pense que l'ordre devrait être (a tester)

Durée ou Légèrement (toujours devant) => ( => [
 

Pierre-Henry

XLDnaute Junior
Re : Besoin d'aide pour extraire prénom et nom [compliqué]

Hop, dernier message de la soirée....pour ajouter le "Legèrement", maintenant tu sais comment faire :D
Pour ce qui est des plusieurs "marqueurs" dans une même cellule, j'y ai un peu réflechi, je pense pouvoir faire quelque chose (avec un truc comme MIN(CHERCHE("(";A2);CHERCHE("[";A2);.....) Le souci est que tous n'apparaissent pas nécessairement....ça ne va pas être une partie de plaisir, mais bon....je vais essayer de faire ça demain.....

Sinon, ce serait possible de faire quelques étapes intermédiaires, je veux dire 3-4 petites formules plutôt qu'une énorme? Ou bien le format est bien défini et il te faut le résultat directement?

Bonne nuit, et à bientôt!
 

Lanimateur

XLDnaute Nouveau
Re : Besoin d'aide pour extraire prénom et nom [compliqué]

je viens de tenter ça je te dis ce que ça donne :

=SI(ESTERREUR(CHERCHE("Durée";A12));SI(ESTERREUR(CHERCHE("(";A12));SI(ESTERREUR( CHERCHE("[";A12));A12;GAUCHE(A12;CHERCHE("Durée"; A12)-2));GAUCHE(A12;CHERCHE("(";A12)-2));GAUCHE(A12;CHERCHE("[";A12)-2))& SI(ESTERREUR(CHERCHE("Durée";B12));SI(ESTERREUR(CHERCHE("(";B12));SI(ESTERREUR(CHERCHE("[";B12));B12;GAUCHE(B12;CHERCHE("Durée"; B12)-2));GAUCHE(B12;CHERCHE("(";B12)-2));GAUCHE(B12;CHERCHE("[";B12)-2))& SI(ESTERREUR(CHERCHE("Durée";C12));SI(ESTERREUR(CHERCHE("(";C12));SI(ESTERREUR(CHERCHE("[";C12));C12;GAUCHE(C12;CHERCHE("Durée"; C12)-2));GAUCHE(C12;CHERCHE("(";C12)-2));GAUCHE(C12;CHERCHE("[";C12)-2))

si ça marche je rajouterais le légèrement
 

Lanimateur

XLDnaute Nouveau
Re : Besoin d'aide pour extraire prénom et nom [compliqué]

Hop, dernier message de la soirée....pour ajouter le "Legèrement", maintenant tu sais comment faire :D
Pour ce qui est des plusieurs "marqueurs" dans une même cellule, j'y ai un peu réflechi, je pense pouvoir faire quelque chose (avec un truc comme MIN(CHERCHE("(";A2);CHERCHE("[";A2);.....) Le souci est que tous n'apparaissent pas nécessairement....ça ne va pas être une partie de plaisir, mais bon....je vais essayer de faire ça demain.....

Sinon, ce serait possible de faire quelques étapes intermédiaires, je veux dire 3-4 petites formules plutôt qu'une énorme? Ou bien le format est bien défini et il te faut le résultat directement?

Bonne nuit, et à bientôt!

oups je n'avais pas vu ton message, non en fait pas besoin d'une seul formule :) je peux faire ça sur 3, 4 voir 5 cellules si il le faut peu importe l'essentiel c qu'a la fin on retrouve le prénom et le nom dans une cellule a part :)

Voila si ça peut te faciliter la tache, de mon côté je me penche aussi sur le problème car peut-être qu'en modifiant l'ordre ça marchera, j'ai fais comme j'ai dit plus haut ça marche pour presque tous ! sauf ceux qui ont [ en premier et rien d'autres derrière bizarre... erreur de ma part dans la formule surement je vais revoir mais merci encore !
 

Pierre-Henry

XLDnaute Junior
Re : Besoin d'aide pour extraire prénom et nom [compliqué]

Et non (enfin je ne pense pas que ça marche)....si tu commences avec le SI(ESTERREUR(...."Durée" tu dois terminer avec le GAUCHE(...."Durée";....)

Ne me demande pas pourquoi.....ça m'a paru logique la première fois, mais la il est trop tard pour réfléchir......Mais c'est effectivement l'idée si tu sais que le crochet est avant la parenthèse (ou l'inverse....le genre de truc qu'on trouve en tâtonnant, il n'y a pas de secret....)

Bon courage et à demain

EDIT: On peut faire ça sur plusieurs formules....un miracle, c'est un miracle j'vous dit! Bon ça devrait aller....mais demain, vraiment..... (une piste : en colonne D, tu mets SI(ESTERREUR(CHERCHE("(";A2)));0;CHERCHE("(";A2)))
en E, F, G, pareil avec [, Durée et Légèrement, puis en H =SI(ET(D2=0;E2=0;F2=0;G2=0);A2;GAUCHE(A2;MIN(D2;E2;F2;G2)-2)

Ca devrait te donner le nom en A2 s'il y en a un....enfin je crois....pis tu r'commences et tu concatènes le tout....je vois ça DEMAIN! ;) Bye
 
Dernière édition:

Lanimateur

XLDnaute Nouveau
Re : Besoin d'aide pour extraire prénom et nom [compliqué]

Bon ben finalement je crois que tu n'as pas besoin de te casser la tête du moins ps pour l'instant :p car j'ai bien analysé tout ce que tu m'as dit et j'ai essayé de modifier la formule et j'en ai trouvé une qui colle parfaitement (avec de la chance car l'ordre que je t'ai dit n'ai jamais inverssé POUR L'INSTANT :( oui il se pourrait que par la suite peut-être ça se mélange en tout cas voici la formule que j'ai mise :

=SI(ESTERREUR(CHERCHE("Durée";A2));SI(ESTERREUR(CHERCHE("Légèrement";A2));SI(ESTERREUR(CHERCHE("(";A2));SI(ESTERREUR( CHERCHE("[";A2));A2;GAUCHE(A2;CHERCHE("["; A2)-2));GAUCHE(A2;CHERCHE("(";A2)-2));GAUCHE(A2;CHERCHE("Légèrement";A2)-2));GAUCHE(A2;CHERCHE("Durée";A2)-2))& SI(ESTERREUR(CHERCHE("Durée";B2));SI(ESTERREUR(CHERCHE("Légèrement";B2));SI(ESTERREUR(CHERCHE("(";B2));SI(ESTERREUR(CHERCHE("[";B2));B2;GAUCHE(B2;CHERCHE("["; B2)-2));GAUCHE(B2;CHERCHE("(";B2)-2));GAUCHE(B2;CHERCHE("Légèrement";B2)-2));GAUCHE(B2;CHERCHE("Durée";B2)-2))& SI(ESTERREUR(CHERCHE("Durée";C2));SI(ESTERREUR(CHERCHE("Légèrement";C2));SI(ESTERREUR(CHERCHE("(";C2));SI(ESTERREUR(CHERCHE("[";C2));C2;GAUCHE(C2;CHERCHE("["; C2)-2));GAUCHE(C2;CHERCHE("("; C2)-2));GAUCHE(C2;CHERCHE("Légèrement";C2)-2));GAUCHE(C2;CHERCHE("Durée";C2)-2))

elle est super longue mais elle fonctionne très bien puisque je n'ai eu aucun problème jusque la :)
 

Pierre-Henry

XLDnaute Junior
Re : Besoin d'aide pour extraire prénom et nom [compliqué]

Donc tu n'as plus de problème? Et bien je vais quand même te donner la solution....basée sur ce que j'ai mis hier soir, adapté pour que ça marche, raccourci pour n'utiliser que 3 colonnes intermédiaires....et voilà le travail!

A bientôt ici, ou sur un autre fil peut-être!

Cordialement

EDIT : avec le fichier c'est mieux....
 

Pièces jointes

  • Recherche nom.xls
    22 KB · Affichages: 54
  • Recherche nom.xls
    22 KB · Affichages: 60
  • Recherche nom.xls
    22 KB · Affichages: 60
Dernière édition:

Lanimateur

XLDnaute Nouveau
Re : Besoin d'aide pour extraire prénom et nom [compliqué]

Donc tu n'as plus de problème? Et bien je vais quand même te donner la solution....basée sur ce que j'ai mis hier soir, adapté pour que ça marche, raccourci pour n'utiliser que 3 colonnes intermédiaires....et voilà le travail!

A bientôt ici, ou sur un autre fil peut-être!

Cordialement

EDIT : avec le fichier c'est mieux....

merci infiniment, effectivement je n'ai plus eu de problème mais avec ça c'est encore mieux surtout pour la suite au cas ou je rencontrerais ce genre de problème.

SERIEUSEMENT TU ES UN BOSS ! :D
 

Tibo

XLDnaute Barbatruc
Re : Besoin d'aide pour extraire prénom et nom [compliqué]

Bonjour Lanimateur,

Une autre solution, sans colonne intermédiaire :

En D2 :

Code:
=SI(ESTNUM(TROUVE("(";A2&B2&C2))+ESTNUM(TROUVE("[";A2&B2&C2))+
ESTNUM(TROUVE("Durée";A2&B2&C2))+ESTNUM(TROUVE("Légèrement";A2&
B2&C2))=0;A2&B2&C2;GAUCHE(A2&B2&C2;MIN(SI(ESTNUM(TROUVE("(";A2&B2&C2));
TROUVE("(";A2&B2&C2);9^9);SI(ESTNUM(TROUVE("[";A2&B2&C2));
TROUVE("[";A2&B2&C2);9^9);SI(ESTNUM(TROUVE("Légèrement";
A2&B2&C2));TROUVE("Légèrement";A2&B2&C2);9^9))-1))

Voir le fichier joint

@+
 

Pièces jointes

  • Animateur.zip
    4.1 KB · Affichages: 16

Discussions similaires

Réponses
7
Affichages
550

Statistiques des forums

Discussions
312 338
Messages
2 087 396
Membres
103 534
dernier inscrit
Kalamymustapha