XL 2016 Extraite lettre de cellule - RESOLU

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gigiwin

XLDnaute Occasionnel
Bonjour,

Dans mon tableau j'ai en colonne G une liste de NOM Prénom.
Il me faut extraire les 3 premières lettres du PRÉNOM et du NOM, et mettre le tout en majuscule.
Par exemple DUBOIS Marie--->MARDUB.

J'ai bien trouvé la formule qui me fais cela:
=(MAJUSCULE(STXT(G2;TROUVE(" ";G2)+1;3))&(GAUCHE(G2;3)))
mais si j'ai une cellule avec NOM NOM Prénom; cela ne fonctionne pas. Et là, je sèche...
Que dois-je modifier au cas ou il y a 2 espace dans la cellule, mais que ça fonctionne aussi si il n'y en a qu'un?

Merci de votre aide.
 

Pièces jointes

Re,
On pourrait faire un calcul qui donne l'emplacement du dernier espace, mais vous allez certainement avoir des cas avec deux prénoms séparés par un espace..
Je suggère d'avoir une colonne avec l'emplacement de l'espace que vous corrigez à la main pour les cas particuliers.
Cordialement
 
Re,
On pourrait faire un calcul qui donne l'emplacement du dernier espace, mais vous allez certainement avoir des cas avec deux prénoms séparés par un espace..
Je suggère d'avoir une colonne avec l'emplacement de l'espace que vous corrigez à la main pour les cas particuliers.
Cordialement
Merci de t'intéressé à mon problème.
j'aurais du spécifier dans ma demande que je ne peux pas ajouter de colonne.
je n'ai accès qu'à une seule colonne; celle où je dois mettre la formule recherchée.
 
Bonjour à tous.

Essayez en AJ1 :
VB:
=SI(NBCAR(G3)-NBCAR(SUBSTITUE(G3;" ";""))=1;MAJUSCULE(STXT(G3;TROUVE(" ";G3)+1;3))&(GAUCHE(G3;3));
SI(NBCAR(G3)-NBCAR(SUBSTITUE(G3;" ";""))=2;MAJUSCULE(STXT(G3;TROUVE(" ";G3)+TROUVE(" ";G3);3)&(GAUCHE(G3;3)));"Traitement manuel"))
Fonctionne pour concaténer les trois premières lettres du premier terme, et les trois premières lettres du deuxième terme s'il y en a deux, (JULLAM pour Lambert Julien )ou du troisième terme s'il y en a trois (MARFOR pour Fortin Piret Marie).

Pour Charles Henri De La Rochefoucault, il faudra trouver un magicien 😉
 
Bonjour,
Voici la Formule :
Ecrire en G2 : DUBOIS Marie / Prénom Nom / --->MARDUB
Ou
Ecrire en G2 : Lambert DUBOIS Marie / Prénom Nom Nom / ----> MARLAMDUB

Formule en G2 à recopier vers le bas ci dessous.
* Sans gestion des espaces entre les noms = pour
VB:
(DUBOIS Marie) ou (Lambert DUBOIS Marie)
* Avec gestion des espaces entre les noms = pour
VB:
(DUBOIS     Marie) ou (Lambert    DUBOIS                   Marie)

Formule : si il y a des 1 seul espace entre les noms et le prénom.
VB:
En G2 pour Test : (AA1rrrrrrr BB2rrrrrrrrrr CC3rrrrrr)  ------>>>>   CC3AA1BB2
Formule a recopier en H2 : =SI(SOMMEPROD((NBCAR(G2)-NBCAR(SUBSTITUE(G2;" ";""))))=1;MAJUSCULE(STXT(DROITE(G2;NBCAR(G2)-TROUVE(" ";G2;1));1;3)&STXT(GAUCHE(G2;TROUVE(" ";G2;1));1;3));MAJUSCULE(STXT(DROITE(G2;NBCAR(G2)-TROUVE(" ";G2;TROUVE(" ";G2;1)+1));1;3)&STXT(GAUCHE(G2;TROUVE(" ";G2;1));1;3)&GAUCHE(SUPPRESPACE(STXT(G2;TROUVE(" ";G2;1);TROUVE(" ";G2;TROUVE(" ";G2;1)+1)-TROUVE(" ";G2;1)));3)))

Formule Bonus : si il y a des beaucoup d'espaces entre les nom et prénom soit 2 ou 3 ou 4 ou 5 etc.
VB:
En G2 pour Test : (AA1rrrrrrr         BB2rrrrrrrrrr           CC3rrrrrr)  ------>>>>   CC3AA1BB2
ormule a recopier en H2 : =SI(SOMMEPROD((NBCAR(SUPPRESPACE(G2))-NBCAR(SUBSTITUE(SUPPRESPACE(G2);" ";""))))=1;MAJUSCULE(STXT(DROITE(SUPPRESPACE(G2);NBCAR(SUPPRESPACE(G2))-TROUVE(" ";SUPPRESPACE(G2);1));1;3)&STXT(GAUCHE(SUPPRESPACE(G2);TROUVE(" ";SUPPRESPACE(G2);1));1;3));MAJUSCULE(STXT(DROITE(SUPPRESPACE(G2);NBCAR(SUPPRESPACE(G2))-TROUVE(" ";SUPPRESPACE(G2);TROUVE(" ";SUPPRESPACE(G2);1)+1));1;3)&STXT(GAUCHE(SUPPRESPACE(G2);TROUVE(" ";SUPPRESPACE(G2);1));1;3)&GAUCHE(SUPPRESPACE(STXT(SUPPRESPACE(G2);TROUVE(" ";SUPPRESPACE(G2);1);TROUVE(" ";SUPPRESPACE(G2);TROUVE(" ";SUPPRESPACE(G2);1)+1)-TROUVE(" ";SUPPRESPACE(G2);1)));3)))
 
Dernière édition:
@laurent950 !!!!t'aurais pas un peu plus compliqué ???😀
Lambert DUBOIS Marie
pour ce cas il veut : MARLAM et pas MARLAMDUB c'est ce que j'avais trouvé mais si on etend ma formule avec juste 1 espace ...ça va plus
vous avez bien une solution ..non ???? à mon avis il n'y a que celle de Patrick !!! mais prendre abonnement avec décodeur Excel + !!!!🙂😉
 
Bonjour à tous 🙂,

Pour le fun, une formule matricielle.

Deux hypothèses :
  1. les noms sont entièrement en majuscule
  2. les prénoms sont entièrement en minuscule sauf la première lettre qui est en majuscule

Formule matricielle en H2 à tirer vers le bas :
VB:
=MAJUSCULE(GAUCHE(GAUCHE(G2;CHERCHE(" ";G2))&"   ";3) & STXT(G2&"   ";MIN(SI(EXACT(MINUSCULE(STXT(SUBSTITUE(G2&"aaa";" ";"A");LIGNE($2:$99);3));STXT(SUBSTITUE(G2&"aaa";" ";"A");LIGNE($2:$99);3));LIGNE($2:$99)-1;""));3))

1601095910243.png
 

Pièces jointes

Dernière édition:
Bonjour le forum,

Moi j'attends qu'un XLDnaute courageux me fournisse la liste des 33000 prénoms recensés en France.

Cela devrait pouvoir se trouver sur le web.

Et cela sera utile pour choisir les prénoms de mes futurs arrières-petits-enfants qui ne vont pas tarder à arriver.

Bon week-end.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
22
Affichages
878
Réponses
26
Affichages
1 K
Réponses
40
Affichages
2 K
Retour