MISE EN ORDRE DES NOMS ET PRÉNOMS
Les noms/prénoms sont inscrits dans la colonne A dans un ordre différent.
(Attention tous les NOMS doivent être en majuscule )
1) Choix d'une nouvelle liste en colonne B avec l’ordre suivant : Prénom & NOM
Inscrivez le code suivant en B1:
=SI(CODE(STXT(A1;2;1))>=97;A1;STXT(A1;EQUIV(FAUX;EXACT(STXT(A1;LIGNE($1:$255);3);MAJUSCULE(STXT(A1;LIGNE($1:$255);3)));0)+1;999)&"
"&GAUCHE(A1;EQUIV(FAUX;EXACT(STXT(A1;LIGNE($1:$255);3);MAJUSCULE(STXT(A1;LIGNE($1:$255);3)));0)))
Résultat :
Si vous maitrisez VBA vous pouvez utiliser cette macro pour mettre les NOM et prénom en colonne B
Sub INVERSER_NOM_PRENOM()
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
Dim splitName() As String
Dim firstName As String
Dim lastName As String
' Définir la feuille de calcul
Set ws = ActiveSheet
' Définir la plage de cellules
Set rng = ws.Range("A1:A100") ' Remplacez par la plage de cellules appropriée
' Boucle à travers chaque cellule de la plage
For Each cell In rng
' Sépare le nom et le prénom
splitName = Split(cell.Value, " ")
' Assurez-vous qu'il y a un nom et un prénom
If UBound(splitName) > 0 Then
' Vérifie si le premier caractère du premier mot est en minuscule (code ASCII >= 97)
If Asc(Mid(splitName(0), 2, 1)) >= 97 Then
firstName = splitName(0)
lastName = UCase(splitName(1))
Else
firstName = splitName(1)
lastName = UCase(splitName(0))
End If
' Écrire le prénom et le nom en majuscules dans la colonne B
cell.Offset(0, 1).Value = lastName & " " & firstName
End If
Next cell
End Sub
Ou cette macro pour mettre les NOMS et prénoms dans la colonne où est sélectionnée une cellule :
Sub INVERSER_NOM_PRENOM()
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
Dim splitName() As String
Dim firstName As String
Dim lastName As String
Dim Colonne As Integer
' Définir la feuille de calcul
Set ws = ActiveSheet
' Définir la plage de cellules
Set rng = ws.Range("A1:A100") ' Remplacez par la plage de cellules appropriée
' Obtenir la colonne de la cellule sélectionnée
Colonne = ActiveCell.Column
' Boucle à travers chaque cellule de la plage
For Each cell In rng
' Sépare le nom et le prénom
splitName = Split(cell.Value, " ")
' Assurez-vous qu'il y a un nom et un prénom
If UBound(splitName) > 0 Then
' Vérifie si le premier caractère du premier mot est en minuscule (code ASCII >= 97)
If Asc(Mid(splitName(0), 2, 1)) >= 97 Then
firstName = splitName(0)
lastName = UCase(splitName(1))
Else
firstName = splitName(1)
lastName = UCase(splitName(0))
End If
' Écrire le prénom et le nom en majuscules dans la colonne spécifiée
cell.Offset(0, Colonne - 1).Value = lastName & " " & firstName
End If
Next cell
End Sub
2) Choix d'une nouvelle liste en colonne C avec l’ordre suivant : NOM & Prénom
Résultat :
Si vous maitrisez VBA vous pouvez utiliser cette macro inverser les NOMS et Prénoms (exemple ici pour la colonne A :
Function InverserNomPrenom(cell As Range) As String
Dim texte As String
Dim i As Integer
Dim position As Integer
texte = cell.Value
position = 0
' Trouver la position du premier caractère majuscule après le premier caractère
For i = 2 To Len(texte)
If Asc(Mid(texte, i, 1)) >= 65 And Asc(Mid(texte, i, 1)) <= 90 Then
position = i
Exit For
End If
Next i
' Si une position a été trouvée, inverser le nom et le prénom
If position > 0 Then
InverserNomPrenom = Mid(texte, position) & " " & Left(texte, position - 1)
Else
InverserNomPrenom = texte
End If
End Function
Sub AppliquerInversion()
Dim cell As Range
Dim plg As Range
' Définir la plage de cellules à traiter
Set plg = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
' Appliquer l'inversion à chaque cellule de la plage
For Each cell In plg
cell.Value = InverserNomPrenom(cell)
Next cell
End Sub
EXTRAIRE LES INITIALES des NOMS ET PRÉNOMS d'une liste :
Les noms/prénoms sont inscrits dans la colonne A dans un ordre différent.
En A1 Patrick SAUVAGE et en B1 la formule suivante :
=GAUCHE(A1;1)&STXT(A1;CHERCHE(" ";A1)+1;1)
Résultat : PS
FONCTION ExtraireInitiales
Function ExtraireInitiale(cell As Range) As String
Dim splitName() As String
Dim firstNameInitial As String
Dim lastNameInitial As String
' Sépare le nom et le prénom
splitName = Split(cell.Value, " ")
' Assurez-vous qu'il y a un nom et un prénom
If UBound(splitName) > 0 Then
' Obtenez la première lettre du prénom et du nom
firstNameInitial = Left(splitName(0), 1)
lastNameInitial = Left(splitName(1), 1)
' Retourne les initiales
GetInitials = firstNameInitial & lastNameInitial
End If
End Function
Ceci n'est valable que dans le cadre d'un prénom associé à un nom sans particule donc dans le cas où on a Rénée Le Pape ... c'est il faut changer la formule :
=GAUCHE(A1;1)&STXT(A1;CHERCHE(" ";A1)+1;1)&SI(ESTERREUR(STXT(A1;CHERCHE(" ";A1;CHERCHE(" ";A1)+1)+1;1));"";STXT(A1;CHERCHE(" ";A1;CHERCHE(" ";A1)+1)+1;1))
Résultat : RLP
Pour information la fonction "CHERCHE" détermine la position du caractère "espace" dans la cellule, cette position est alors utilisée par la fonction STXT(+1) qui ramène le caratère situé juste après l'espace.
SUPPRIMER les titres d'un nom dans une CELLULE (Mr, Mme et Mlle) :
Les titres et les noms sont inscrits dans la colonne A.
En A1 Mr DURAND et en B1 la formule suivante :
=SI(OU(GAUCHE(A1;2)="Mr";GAUCHE(A1;4)="Mlle";GAUCHE(A1;3)="Mme");DROITE(A1;NBCAR(A1)-TROUVE(" ";A1));A1))
Résultat : DURAND
Vous pouvez modifier les titres dans la formule ou ajouter des titres, voici des exemple d'abréviations :
Terme | Abréviation |
Madame | Mme ou Mme |
Mesdames | Mmes ou Mmes |
Mademoiselle | Mlle ou Mlle |
Mesdemoiselles | Mlles ou Mlles |
Monsieur | M. |
Messieurs | MM. |
Veuve | Vve ou Vve |
Docteur | Dr ou Dr |
Docteurs | Drs ou Drs |
Professeur | Pr ou Pr |
Professeurs | Prs ou Prs |
Maître | Me ou Me |
Maîtres | Mes ou Mes |
Monseigneur | Mgr ou Mgr |
SUPPRIMER les INITIALES du prénom dans une CELLULE :
Les initiales des prénoms et les noms sont inscrits dans la colonne A.
En A1 P. DURAND et en B1 la formule suivante :
=STXT(A1;4;255))
Résultat : DURAND
Attention le chiffre entre la cellule et le chiffre 255, diffère selon le nombre d'initiale et d'espace avant le nom.
A vous de jouer...
Emile @+
Aucun commentaire :
Enregistrer un commentaire
Pour vous aider à publier votre commentaire, voici la marche à suivre :
1) Ecrivez votre texte dans le formulaire de saisie ci-dessus
2) Si vous avez un compte, vous pouvez vous identifier dans la liste déroulante Commentaire
Sinon, vous pouvez saisir votre nom ou pseudo par Nom/URL
3) Vous pouvez, en cliquant sur le lien S'abonner par e-mail, être assuré d'être avisé en cas d'une réponse
4) Cliquer sur Publier enfin.
Le message sera publié après modération.
Merci