Excel : Séparation Prénoms NOMS
Résolu/Fermé
Peo_o
Messages postés
85
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
8 mai 2015
-
Modifié par Peo_o le 10/06/2010 à 16:30
Peo_o Messages postés 85 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 8 mai 2015 - 25 avril 2011 à 17:08
Peo_o Messages postés 85 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 8 mai 2015 - 25 avril 2011 à 17:08
A voir également:
- Excel séparer nom prénom majuscule
- Liste déroulante excel - Guide
- Nom et prénom - Guide
- Si et excel - Guide
- É majuscule - Guide
- Fusionner deux cellules excel nom prénom - Guide
5 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 10/06/2010 à 16:50
Modifié par michel_m le 10/06/2010 à 16:50
Comprend pas trop ta demande et ton code mais ...
pour inverser le nom et prénom
nom en majuscules et prénom 1) majuscule puis miuscule
:-x
ainsi bidOChoN RObERt
devient
Robert BIDOCHON
c'est ce que tu voulais ?
pour inverser le nom et prénom
nom en majuscules et prénom 1) majuscule puis miuscule
tablo = Split(Range("A1")) Range("A1") = Application.Proper(tablo(1)) & " " & UCase(tablo(0))
:-x
ainsi bidOChoN RObERt
devient
Robert BIDOCHON
c'est ce que tu voulais ?
dobo69
Messages postés
1587
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
30 juin 2013
827
10 juin 2010 à 17:08
10 juin 2010 à 17:08
bonjour,
itou michel_m..
Peo_o, as tu par hasard essayé ces formules ? :
=GAUCHE(A1;CHERCHE(" ";A1)) te renvoi ce qui est avant le " "
et
=DROITE(A1;NBCAR(A1)-CHERCHE(" ";A1)) ce qui est après.
et donc après tu en fait bien ce que tu veux : dans deux cellules différentes ou bien re-concaténer à l'envers :
==DROITE(A1;NBCAR(A1)-CHERCHE(" ";A1))&" "&GAUCHE(A1;CHERCHE(" ";A1))
mais je pense que cela révèle sans doute qu'on ne comprend pas trop ce que tu veux faire...
itou michel_m..
Peo_o, as tu par hasard essayé ces formules ? :
=GAUCHE(A1;CHERCHE(" ";A1)) te renvoi ce qui est avant le " "
et
=DROITE(A1;NBCAR(A1)-CHERCHE(" ";A1)) ce qui est après.
et donc après tu en fait bien ce que tu veux : dans deux cellules différentes ou bien re-concaténer à l'envers :
==DROITE(A1;NBCAR(A1)-CHERCHE(" ";A1))&" "&GAUCHE(A1;CHERCHE(" ";A1))
mais je pense que cela révèle sans doute qu'on ne comprend pas trop ce que tu veux faire...
Peo_o
Messages postés
85
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
8 mai 2015
2
10 juin 2010 à 17:10
10 juin 2010 à 17:10
hello Michel.... pas tout à fait ça, mais j'ai la reponse ! ! ! ! mais MERCI pour ta réactivité ! ! !
le but du jeu : j'ai :
BIDAUCHON Pierrette TRUCMUCHE
donc la premiere macro me separe :
BIDAUCHON puis Pierrette TRUCMUCHE
et la seconde macro pour séparer :
Pierette puis TRUCMUCHE ! ! !
et voici donc la seconde Macro :
Sub SepareNomPrenom()
Dim i As Integer
Dim vDerniereLigne
Dim Chaine As String
Dim vASC As Integer
Dim x As Integer, y As Integer
vDerniereLigne =3333
For i = 1 To 3333
Chaine = Range("A" & i).Value
y = 1
Do
x = InStr(y, Chaine, " ")
If x > 0 Then
vASC = Asc(Mid(Chaine, x + 2, 1))
Else
vASC = 0
End If
y = x + 1
Loop Until vASC < 97 Or vASC >122 Or x = 0
If vASC <> 0 Then
Range("B" & i).Value = (Left(Chaine, x - 1))
Range("C" & i).Value = (Right(Chaine, Len(Chaine) - x))
End If
Next i
End Sub
Merci ! ! ! ! ! !
PS: Je n'arrive pas a faire fonctionner ta Macro???? pourtant j'ai ecris en A1 BIDAUCHON Robert et je la lance sur B1... mais ca marche pô.... Ai je fais une erreur, elle peut m'etre utile ! ! ! !
D'avance merci
le but du jeu : j'ai :
BIDAUCHON Pierrette TRUCMUCHE
donc la premiere macro me separe :
BIDAUCHON puis Pierrette TRUCMUCHE
et la seconde macro pour séparer :
Pierette puis TRUCMUCHE ! ! !
et voici donc la seconde Macro :
Sub SepareNomPrenom()
Dim i As Integer
Dim vDerniereLigne
Dim Chaine As String
Dim vASC As Integer
Dim x As Integer, y As Integer
vDerniereLigne =3333
For i = 1 To 3333
Chaine = Range("A" & i).Value
y = 1
Do
x = InStr(y, Chaine, " ")
If x > 0 Then
vASC = Asc(Mid(Chaine, x + 2, 1))
Else
vASC = 0
End If
y = x + 1
Loop Until vASC < 97 Or vASC >122 Or x = 0
If vASC <> 0 Then
Range("B" & i).Value = (Left(Chaine, x - 1))
Range("C" & i).Value = (Right(Chaine, Len(Chaine) - x))
End If
Next i
End Sub
Merci ! ! ! ! ! !
PS: Je n'arrive pas a faire fonctionner ta Macro???? pourtant j'ai ecris en A1 BIDAUCHON Robert et je la lance sur B1... mais ca marche pô.... Ai je fais une erreur, elle peut m'etre utile ! ! ! !
D'avance merci
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 10/06/2010 à 17:42
Modifié par michel_m le 10/06/2010 à 17:42
Ma macro remplaçait Nom Prénom par Prénom NOm dans la m^me cellule
par exemple dans zone A1:A10 nom prénom
for lig=1 to 10
tablo=tablo(cells(lig,1))
cells(lig,1) = Application.Proper(tablo(1)) & " " & UCase(tablo(0))
next
par exemple dans zone A1:A10 nom prénom
for lig=1 to 10
tablo=tablo(cells(lig,1))
cells(lig,1) = Application.Proper(tablo(1)) & " " & UCase(tablo(0))
next
Peo_o
Messages postés
85
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
8 mai 2015
2
11 juin 2010 à 09:49
11 juin 2010 à 09:49
Merci, Michel_m ! ! ! !
Belle journée
PeOO
Belle journée
PeOO
dobo69
Messages postés
1587
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
30 juin 2013
827
10 juin 2010 à 17:35
10 juin 2010 à 17:35
Le code ci-dessous fait en une étape ce que tu as décrit :
Code a modifier et à améliorer dans son fonctionnement si tu as bps de lignes à traiter évidemment...
BIDAUCHON Pierrette TRUCMUCHE => BIDAUCHON | Pierrette | TRUCMUCHE
Sub separerlesnoms() reste = ActiveCell.Value i = 1 While InStr(reste, " ") > 0 etape = Left(reste, InStr(reste, " ")) reste = Right(reste, Len(reste) - InStr(reste, " ")) ActiveCell.Offset(0, i).Value = etape i = i + 1 Wend ActiveCell.Offset(0, i).Value = reste End Sub
Code a modifier et à améliorer dans son fonctionnement si tu as bps de lignes à traiter évidemment...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Peo_o
Messages postés
85
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
8 mai 2015
2
11 juin 2010 à 09:45
11 juin 2010 à 09:45
Hello Dobo69,
merci pour ton aide, mais cette "action" est disponible directement en allant dans excel à l'onglet "Données/convertir - - - > separer par des espaces...
Enfin, comme tu t'en doute, le but du jeu est de separer le nom (qui peut etre composé), le(s) prénom(s) et enfin le nom d'epouse (qui peut egalement etre composé)...
mais j'ai mis en ligne ci-dessus la macro qui permet de le faire....
Merci encore
PeOO
merci pour ton aide, mais cette "action" est disponible directement en allant dans excel à l'onglet "Données/convertir - - - > separer par des espaces...
Enfin, comme tu t'en doute, le but du jeu est de separer le nom (qui peut etre composé), le(s) prénom(s) et enfin le nom d'epouse (qui peut egalement etre composé)...
mais j'ai mis en ligne ci-dessus la macro qui permet de le faire....
Merci encore
PeOO
dobo69
Messages postés
1587
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
30 juin 2013
827
Modifié par dobo69 le 11/06/2010 à 15:10
Modifié par dobo69 le 11/06/2010 à 15:10
cette "action" est disponible directement en allant dans excel à l'ongletoui OK, mais souvent une macro cherche à automatiser des actions faites souvent...
Enfin, comme tu t'en doute, non justement : ta problématique n'était pas très clair. Maintenant que tu as expliqué, elle l'est un peu plus...
Et je suis heureux pour toi que tu ais trouvé finalement. :-)
Peo_o
Messages postés
85
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
8 mai 2015
2
Modifié par Peo_o le 25/04/2011 à 17:10
Modifié par Peo_o le 25/04/2011 à 17:10
Dobo69, bonjour,
en relisant le post, et avec un peu plus d'experience aujourd'hui, je me rend compte qu'effectivement tout cela n'était pas très clair et que, je n'avai pas compris qu'il fallait ajouter une boucle pour étandre ta formule à toute une liste !!!
Merci donc pour ta réponse du moment pleine de tact !!!!
Il est souvent possible de confondre une maladresse ou incompréhension en malpolitesse ou j'menfoutisation... donc encore merci pour ton aide !!!
belle continuation
Peo_O
en relisant le post, et avec un peu plus d'experience aujourd'hui, je me rend compte qu'effectivement tout cela n'était pas très clair et que, je n'avai pas compris qu'il fallait ajouter une boucle pour étandre ta formule à toute une liste !!!
Merci donc pour ta réponse du moment pleine de tact !!!!
Il est souvent possible de confondre une maladresse ou incompréhension en malpolitesse ou j'menfoutisation... donc encore merci pour ton aide !!!
belle continuation
Peo_O