![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: juin 2009
Messages: 1
|
Bonjour
J'ai des colonnes qui se composent de données telles que NOM Prénom Et je souhaiterais les scinder un deux colonnes distinctes une avec le nom et une avec le prénom. Et je n'ai aucune idée de la formule à utiliser... Merci d'avance |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Accro
|
Bonjour krikri9
Un essai, si ta cellule de départ est A1: Pour le nom en B1: Code:
=GAUCHE(A1;TROUVE(" ";A1)-1)
Code:
=STXT(A1;TROUVE(" ";A1)+1;NBCAR(A1)-TROUVE(" ";A1))
mth
__________________
Cliquez sur l'image pour rejoindre After Hours sur le site de Devline |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: septembre 2009
Messages: 10
|
Merci Mth,
j'étais justement en train de browser Google car j'étais a la recherche de l'info. j'ai le meme besoin que krikri9, j'ai testé et cela fonctionne parfaitement. Par contre, la valeur #valeur est renvoyé quand le champ ne contient qu'un seul mot (ici nom ou prénom). Une solution pour qu'il ne traite pas la cellule ? une condition je suppose... Voici la problématique : |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: mai 2008
Localisation: Paris
Messages: 4 874
|
Bonsoir manu18e, krikri9, salut Mireille,
Les formules renvoient #VALEUR! quand il n'y a pas d'espace. On peut les modifier comme suit : Code:
=SI(ESTNUM(TROUVE(" ";A1));GAUCHE(A1;TROUVE(" ";A1)-1);"")
=SI(ESTNUM(TROUVE(" ";A1));STXT(A1;TROUVE(" ";A1)+1;99);"")
![]() A+ |
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: mars 2005
Localisation: Maubeuge Excel_2003/2007
Messages: 9 035
|
Bonjour à tous,
Pour compléter la série, ceci : Code:
=GAUCHE(A1;TROUVE(" ";A1&" ")-1)
@+ Edit : et une autre pour le prénom : Code:
=STXT(A1;TROUVE(" ";A1&" ")+1;9^9)
Petit rappel de principe : les noms et prénoms composés doivent être séparés par des traits d'union. @+
__________________
Ne jamais hésiter à utiliser la recherche sur le Forum, beaucoup de réponses s'y trouvent Amitiés XldiennesXLD vous a aidé, n'hésitez pas à aider XLD Dernière modification par Tibo ; 17/09/2009 à 08h59. |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: septembre 2009
Messages: 10
|
Bonjour a tous,
Merci a toutes vos contributions. La réponse de Tibo est celle qui fonctionne le mieux...cependant, comment gérer les prénoms composé du type : A1 : Jean Christophe DUPONT J'aimerai avoir comme résultat : Prénom dans B1 : : Jean-Christophe Nom dans C1 : DUPONT Merci pour vos reflexions. |
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: mai 2008
Localisation: Paris
Messages: 4 874
|
Bonjour manue 18e, le fil,
Le fichier étudié doit avoir un minimum de cohérence, sinon on ne peut rien distinguer, exemple : Jean Christophe DUPONT Jean DUPONT LAJOIE Jean Christophe DUPONT LA JOIE etc etc... Edit : si les NOMS sont toujours en MAJUSCULES, on peut aussi faire un traitement par une fonction macro. Je regarde ça. A+ Dernière modification par job75 ; 18/09/2009 à 11h32. |
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: mars 2008
Localisation: Nantes
Messages: 206
|
Bonjour,
Sans vouloir empiéter sur les réponses apportées, une exemple avec des formules de John Walkenbach qui m'ont bien aidées. Bonne journée. |
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: mai 2008
Localisation: Paris
Messages: 4 874
|
Re, salut exene,
Voici 2 fonctions macros, les NOMS doivent donc être en MAJUSCULES : Code:
Function Nom$(txt$) Dim i%, deb% txt = Application.Trim(txt) 'supprime TOUS les espaces inutiles For i = 1 To Len(txt) deb = i If Mid(txt, i, 3) = UCase(Mid(txt, i, 3)) Then Exit For Next For i = deb To Len(txt) If Mid(txt, i, 3) <> UCase(Mid(txt, i, 3)) Then Exit For Next If deb = i Then Exit Function 'nécessaire si pas de nom Nom = Trim(Mid(txt, deb, i - 1)) End Function Function Prénom$(txt$) txt = Application.Trim(txt) Prénom = Trim(Replace(txt, Nom(txt), "")) End Function A+ |
|
|
|
|
|
#10 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: mars 2005
Localisation: Maubeuge Excel_2003/2007
Messages: 9 035
|
Bonjour,
Sur le même principe que celui de Job : Nom écrit en majuscules, une solution par formule matricielle : Prénom - Nom en A1 en B1 : Code:
=STXT(A1;1;MAX((EXACT(MAJUSCULE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1));
STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*1=0)*LIGNE(INDIRECT("1:"&NBCAR(A1)))))
en C1, sa petite soeur : Code:
=STXT(A1;MAX((EXACT(MAJUSCULE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1));
STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*1=0)*LIGNE(INDIRECT("1:"&NBCAR(A1))))+2;9^9)
Le principe de ces formules est de détecter le rang de la dernière minuscule, donc en principe, la dernière lettre du prénom. @+
__________________
Ne jamais hésiter à utiliser la recherche sur le Forum, beaucoup de réponses s'y trouvent Amitiés XldiennesXLD vous a aidé, n'hésitez pas à aider XLD |
|
|
|
|
|
#11 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: mars 2005
Messages: 2 616
|
Bonjour à tous
Vous avez aussi la liste de principaux prénoms composés. Prénom composé - Wikipédia Si cela peux aider a faire une macro en VBA. Mais bon, il est sur que le mieux dans une base de données, est toujours d'avoir Nom et Prénom dans 2 champs.
__________________
Salutations Michel |
|
|
|
|
|
#12 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: septembre 2009
Messages: 10
|
Oh là là, le topic avance a grands pas...je vais mettre en application les réponses formulées ici dans l'apres midi.
Pour info, les noms dans mon fichier sont bien majuscules. |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| multi choix dans liste choix premier lettre dans meme cellule | zazie123 | Forum Excel | 4 | 08/01/2009 14h36 |
| Prendre le premier mot dans un cellule et le copier dans une autre cellule | juliensav | Forum Excel | 6 | 14/11/2008 17h56 |
| extraire certaines donnée dans une cellule | BENOTAF | Forum Excel | 10 | 28/10/2005 17h29 |
| extraire des valeurs de cellule dans un formulaire | aze | Forum Excel | 2 | 22/03/2005 18h11 |
| premier dans une cellule | neuba | Forum Excel Downloads - Archives | 1 | 05/12/2002 13h55 |