XL 2016 [RESOLU]Séparer mots si la dernière lettre est une minuscule

Etn

XLDnaute Occasionnel
Bonjour,

Je souhaiterais savoir s'il est possible d'avoir une macro (ou une formule mais j'en doute), qui séparerait les mots en 2 colonnes différentes : La 1ere avec les mots qui ont une minuscule en dernier, et la 2e avec les mots qui ont une majuscule en dernier. (histoire de séparer les noms/prénoms vous l'aurez deviné je suppose).

Ex : HENRY DUPONT Jimmy ==> HENRY DUPONT dans la 1e colonne et Jimmy dans la 2e.

J'espère que ma demande est claire.

Merci d'avance,

Bonne journée,
Etn
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

un essai avec cette formule
VB:
=STXT(A1;SI(NBCAR(SUPPRESPACE(A1))-NBCAR(SUBSTITUE(SUPPRESPACE(A1);" ";""))>1;CHERCHE(" ";A1;CHERCHE(" ";A1)+1);CHERCHE(" ";A1))+1;99)

JHA
 

Pièces jointes

  • Nom Prénom.xlsx
    9.1 KB · Affichages: 13

Etn

XLDnaute Occasionnel
Aaah attend,

Je viens de tester avec Jean Paul en prénom, malheureusement je me retrouve avec "DUPONT Jean" dans la colonne Nom et "Paul" dans la colonne prénom.
Y a pas moyen de faire passer "Jean" dans la colonne Prénom pour avoir "Jean Paul" svp ?

Merci d'avance,
Etn
 

CISCO

XLDnaute Barbatruc
Bonjour

Deux possibilités en pièce jointe, prenant en compte deux autres possibilités.
En colonne G, la formule la plus simple, convenant peut-être, mais mettant un espace devant le prénom lorsque celui-ci est écrit sans majuscule au début (jean au lieu de Jean).
En colonne F, une formule matricielle éliminant cet espace devant les prénoms écrits sans majuscule au début.
Ces deux formules sont matricielles, donc à valider avec Ctrl+maj+entrer

@ plus

P.S : 20 lettres au max dans le prénom
 

Pièces jointes

  • Nom Prénom.xlsx
    10.5 KB · Affichages: 16

patricktoulon

XLDnaute Barbatruc
re
bonjour
DUPONT jean paul
DUPONT Jean paul
DUPONT Jean Paul
et ben tu va t'amuser avec une formule ;) :rolleyes: :cool: :p :rolleyes:
sans parler des noms composés

en VBA pas de soucis si tu veux
la seule condition est que le nom soit en majuscule, les prénoms (même composés) pourront être en min ou vbpropercase
 

patricktoulon

XLDnaute Barbatruc
re
oui j'ai vu la matricielle

sinon en VBA tout simplement

VB:
Function nomPrenom(ByVal cel As String, ByVal x As Long)
    Dim t, i&, z$
    t = Split(cel, " ")
    For i = 0 To UBound(t)
        If x = 1 Then If t(i) = UCase(t(i)) Then z = z & " " & t(i)
        If x = 2 Then If Not t(i) = UCase(t(i)) Then z = z & " " & t(i)
    Next
    nomPrenom = Trim(z)
End Function
et la formule
=nomPrenom(A8;1) pour le nom
=nomPrenom(A8;2) pour le prenom

comme je disais la seule obligation est que le nom soit en maj l'ordre peu importe ;)
Capture.JPG
 

Discussions similaires

Statistiques des forums

Discussions
312 163
Messages
2 085 860
Membres
103 006
dernier inscrit
blkevin