Rechercher une chaîne de caractères en majuscule

Bonjour,

Ayant à disposition un fichier contenant au sein d'une même colonne nom + prénom, je souhaiterais distinguer à travers deux colonnes différentes noms et prénom sachant que dans le fichier le nom est écrit en majuscules et le prénom avec seulement la première lettre en majuscule.

Est-il possible avec excel de rechercher une chaîne de caractères en majuscule ? Cela me permettrait ainsi de distinguer facilement nom et prénom.

Merci à tous pour vos réponses.

Salut le forum

Fricklin comme nouveau membres

Récupération du nom et du prénom

=GAUCHE(A4;EQUIV(VRAI;EXACT(STXT(A4;LIGNE($1:$255);3);MAJUSCULE(STXT(A4;LIGNE($1:$255);3)));0))

Valider avec Maj+ctrl+entrée

=STXT(A4;EQUIV(VRAI;EXACT(STXT(A4;LIGNE($1:$255);3);MAJUSCULE(STXT(A4;LIGNE($1:$255);3)));0)+1;999)

Valider avec Maj+ctrl+entrée

Mytå

bonjour

si par bonheur il y a un espace entre nom et prenom je t'ai bricolé une solution simple

835maty.zip (4.55 Ko)

ou bien tu peux utiliser "convertir" dans Données ( a la limite tu enregistres une macro de la manip + 1bouton)

cordialement

-- 28 Juil 2010, 15:46 --

re

la meme avec les prenoms que j'avais oublié de traiter

835maty.zip (4.55 Ko)

a bientot

Bonjour à tous !

Merci beaucoup pour vos réponses !

En revanche je n'arrive pas à valider la première proposition (ctrl + maj + entrée) et pour la deuxième réponse la formule est intéressante car permet de distinguer automatiquement des mots séparés par des espaces mais les noms de famille sont souvent composé de plusieurs noms. La seule façon de distinguer le nom du prénom est que le nom est en majuscule et le prénom est en mode "Nom propre".

Exemple : DU MOULIN DE ROBERT Michel

Je souhaiterais une formule qui puisse extraire d'un côté DU MOULIN DE ROBERT et Michel de l'autre

Merci par avance

Bonjour

Le premier nom en A1, Matricielle (Ctrl+Maj+Entrée)

=STXT(A1;1;EQUIV(VRAI;CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>=97;0)-2)

Cordialement

981maty.zip (4.26 Ko)

bonjour Amadeus

bravo c'est top ;je la met sous le coude pour valider les matricielles je precise qu'il faut appuyer sur les 3 touches en meme temps

bon week- end

Bonjour,

Ci-joint ma solution sans formule matricielle :

A2 = Nom et prénom

B2 = Nom

C2 = Prénom

Mettre en B2 la formule :

=SUPPRESPACE(mot(A2;1) & " " &SI(EXACT(mot(A2;2);mot(MAJUSCULE(A2);2))=VRAI;mot(A2;2);"")& " " &SI(EXACT(mot(A2;3);mot(MAJUSCULE(A2);3))=VRAI;mot(A2;3);"")& " " &SI(EXACT(mot(A2;4);mot(MAJUSCULE(A2);4))=VRAI;mot(A2;4);"")& " " &SI(EXACT(mot(A2;5);mot(MAJUSCULE(A2);5))=VRAI;mot(A2;5);""))

Mettre en C2 la formule :

=SUPPRESPACE(STXT(A2;NBCAR(B2)+1;100))

Mettre dans un module la fonction "Mot" :

Public Function Mot(PlageAnalysée As String, NuméroOdreDuMot As Byte) As String

Dim NbeMotMaxi As Byte

'Existence de données et suppression des espaces inutiles
'--------------------------------------------------------
If PlageAnalysée = "" Then
    Mot = ""
    Exit Function
Else
    PlageAnalysée = Application.WorksheetFunction.Trim(PlageAnalysée)
End If

'Découpage de la plage en nom et récupération du nom
'---------------------------------------------------
Tableau = Split(PlageAnalysée)
Mot = ""
If NuméroOdreDuMot - 1 <= UBound(Tableau) Then Mot = Tableau(NuméroOdreDuMot - 1)

End Function
495solution01.zip (6.74 Ko)
Rechercher des sujets similaires à "rechercher chaine caracteres majuscule"