Excel : Séparation Prénoms NOMS
Résolu
Peo_o
Messages postés
85
Date d'inscription
Statut
Membre
Dernière intervention
-
Peo_o Messages postés 85 Date d'inscription Statut Membre Dernière intervention - 25 avril 2011 à 17:08
Peo_o Messages postés 85 Date d'inscription Statut Membre Dernière intervention - 25 avril 2011 à 17:08
A voir également:
- Séparer nom prénom excel
- Liste déroulante excel - Guide
- Facebook recherche par nom et prénom - Guide
- Excel fusionner 2 colonnes nom prénom - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
5 réponses
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 ?
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...
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
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
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
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. :-)
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