extraction jusqu'a un espace

  • Initiateur de la discussion chris
  • Date de début
C

chris

Guest
Bonjour a tous
je mets ce post car je n'ai pas trouve la reponse dans les anciens post
voila mon probleme
soit une chaine de caracteres ex: "martin , durand" et je veux extraire dans une cellule "martin" et dans une autre "durand" mais martin et durand peuvent avoir un nb de lettres differentes donc je pense qu'il faut extraire du debut de chaine jusqu'a espace , zappé la virgule et extraire de l'espace jusqu'a la fin de chaine et la je seche si qq a une idee?
grand merci d'avance a ceux qui peuvent médé
merci
 
C

C@thy

Guest
Evidemment c'est plus compliqué si on a :

MARTIN DE LA VALLIERE (le nom du gars) Charles Henry (son prénom)

C@thy
BipBip.gif
 
A

andré

Guest
Salut C@thy,

Mais non, c'est pas compliqué, peut-être un peu long.

Voici comment procéder :

D'abord tu établis une liste de tous les prénoms existants, c'est du boulot, je te le concède,mais une fois fait tu pourras t'en servir longtemps.

Ensuite par un SOMMEPROD (ou deux NBVAL additionnés) tu comptes le nombre de prénoms rencontrés dans le nom complet, et du résultat tu t'en sers dans un REPT pour extraire les prénoms par la fonction CHERCHE, sans oublier de les CONCATENER en y ajoutant un nombre d'espaces égal à ton SOMMEPROD -1.

Enfin, tu copies ta cellule en enlevant les prénoms que tu as déjà extraits.

Tu vois que c'est pas compliqué !

Il me reste juste un petit problème à résoudre pour mon copain Jean-Pierre Vincent-Henry.
Le problème ? Je ne sais pas quel est son prénom et son nom de famille.

Bon week-end.
Ândré.

PS : Sebb : sérieusement ébranlé, bon bougre.
 

samsystemed

XLDnaute Nouveau
Re : extraction jusqu'a un espace

Bonjour,

J'essaye d'appliquer votre méthode à mon tableau mais j'ai du mal.
pouvez vous m'aider s'il vous plait?

J'ai une cellule ou il est inscrit : les prénoms, noms et logins de chaque salarié comme suit :
Jean DAFONT (jdafont)

Je cherche une formule pour extraire dans une colonne, le prénom, dans la suivante, le nom et dans la dernière le login

comme la taille des noms et des prénoms varie, je voulais faire un extraction depuis les espaces mais j'ai du mal.
comment puis-je faire ???

merci d'avance pour votre aide,
 

david84

XLDnaute Barbatruc
Re : extraction jusqu'a un espace

Bonjour,
sans fichier, j'en reste aux généralités :
- utiliser la fonction CHERCHE pour rechercher l'espace entre le nom et le prénom
- idem pour rechercher l'endroit où est situé la parenthèse ouvrante
- utiliser les fonction GAUCHE, DROITE ou STXT selon ce que tu cherches à obtenir.
Si les noms sont outs en majuscule, tu peux également utiliser la fonction EXACT pour recercher les 2 1ère majuscules par exemple.
Pour t'aider dans tes recherches, regarde ici sur le site de JB.
A+
 

samsystemed

XLDnaute Nouveau
Re : extraction jusqu'a un espace

Re
merci de me répondre aussi vite :).

Je connais ces formules mais j'ai du mal à en combiner plusieurs.
j'ai mis mon tableau en PJ pour mieux t'expliquer ce que je cherche à obtenir.
 

Pièces jointes

  • 2012-09-01_LISTING_PROFILS2.xlsx
    10.1 KB · Affichages: 364

david84

XLDnaute Barbatruc
Re : extraction jusqu'a un espace

Re
As-tu seulement regardé le lien communiqué ? Tout est expliqué.
Sur quelle formule bloques-tu ? Quelle(s) formule(s) as-tu testé ?
Toutes tes données comportent des espaces au début et à la fin : est-ce normal ? Il faudrait commencer par épurer ces espaces avant de traiter ce qui te faciliterait le travail.
A+
 

samsystemed

XLDnaute Nouveau
Re : extraction jusqu'a un espace

Mes données viennent d'un copie/coller d'une plateforme web.
J'ai 80 salariés et je ne peux pas épurer chaque ligne, c'est pour cette raison que je planche sur une formule d'extraction.

J'ai vu ton lien et parcouru les formules mais je bugue....
 

david84

XLDnaute Barbatruc
Re : extraction jusqu'a un espace

Re
J'ai vu ton lien et parcouru les formules mais je bugue....
Cela je l'avais compris mais si je t'ai demandé ce que tu avais testé c'est justement pour voir ce qui ne va pas et te l'expliquer.
Le but de ce forum est de t'aider à faire et non de faire à ta place et si je te donne la solution d'entrée tu ne comprendras pas pour autant les formule, donc aucun intérêt.
Concernant l'extraction du nom :
Code:
=GAUCHE(A3;CHERCHE(" ";A3;2))
Pour le prénom :
Code:
=STXT(A3;CHERCHE(" ";A3;2);CHERCHE("(";A3;2)-CHERCHE(" ";A3;2))
Attention : ces formules ne fonctionnent que si les exemple fournis dans ton fichier exemple sont fidèles à tes données réelles !
Pour le login, essaye de chercher par toi-même (rechercher la parenthèse ouvrante avec CHERCHE et DROITE pour ramener ce qui est à droite de cette parenthèse en otant 2 pour ne pas avoir la parenthèse fermante et l'espace final).
A+
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : extraction jusqu'a un espace

Bonjour le fil, bonjour le forum,

Tes données ont un espace avant et un espace après chacune d'entre elles... Je te propose une solution VBA :
Code:
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)

With Sheets("Feuil2") 'prend en compte l'onglet "Feuil2"
    dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A)
    Set pl = .Range("A3:A" & dl) 'définit la plage pl
End With 'fin de la prise en compte de l'onglet "Feuil2"
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
    On Error GoTo fin 'gestion des erreurs (si une ereur est générée, va à l'étiquette "fin"
    cel.Offset(0, 1).Value = Split(Trim(cel.Value), " ")(0) 'récupère le texte avant le premier espace
    cel.Offset(0, 2).Value = Split(Trim(cel.Value), " ")(1) 'récupère le texte avant le second espace
    cel.Offset(0, 3).Value = Mid(Split(Trim(cel.Value), "(")(1), 1, Len(Split(Trim(cel.Value), "(")(1)) - 1) 'récupère le texte après l'ouverture de paranthèse (sans la fermeture de parenthèse)
fin: 'étiquette
    If er <> 0 Then Err = 0 'si une erreur a été générée, supprime l'erreur
    On Error GoTo 0 'annule la gestion des erreurs
Next cel 'prochaine cellule de la boucle
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 218
Messages
2 086 357
Membres
103 197
dernier inscrit
sandrine.lacaussade@orang