XL 2013 Création des codes alphanumériques à partir des noms et dates de naissance

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 !

sadlersmith

XLDnaute Nouveau
Bonjour à tous,
J'ai un sérieux problème et espère que vous pourrez m'apporter une solution.
Je dois créer dans excel des codes alphanumériques à partir des noms, dates de naissance et ordre d'arrivée.
Je mets également en pièces jointes le fichier excel du travail.
Merci d'avance

GARDOU SIMON 15-05-1990 M
HOUBBY LEA 1995-12-13 F
GARGAMEL SAMUEL 1990-05-15 M
BOUCHARD JACQUES 1994-09-18 M
GARTER SANDRA 1990-05-15 F
BOUCHARD JULIEN 1994-09-18 M
GAROLOU SAM 1990-05-15 M
DUBREUIL JULIE 1994-11-01 F
FARNENT FLORENT 1995-01-04 M
VOYER BERNARDE 1995-08-14 F
VOYER BERTHE 1995-08-13 F

• Au total il y a 12 caractères
• 3 premiers caractères : 3 premières lettres du nom de famille
• 4ième caractère : première lettre du prénom
• Caractères 5 et 6 : jour de naissance
• Caractères 7 et 8 : mois de la naissance (si sexe féminin ajouter 50)
• Caractères 9 et 10 : deux derniers chiffres de l’année de naissance
• Caractères 11 et 12 : le «rang» occupé par le code permanent selon l’ordre du «premier arrivé premier servi». Par exemple, si deux personnes sont nées à la même date et que les 3 premières lettre de leur nom de famille sont identiques ainsi que la première lettre de leur prénom, le premier inscrit aura comme fin de code permanent «01» alors que le second aura «02».
 

Pièces jointes

Re : Création des codes alphanumériques à partir des noms et dates de naissance

Bonjour,

Pour récupérer les trois premières lettres du nom :
=GAUCHE(A16;3)
Pour récupérer la première lettre du prénom :
=Gauche(A17;1)
Pour récupérer le jour :
=JOUR(C16)
Pour récupérer le mois :
=MOIS(C16)
Pour récupérer l'année sur 2 chiffres:
=DROITE(ANNEE(C16);2)
Pour tout mettre dans la même case :
=concatener(première valeur;2ème valeur...)
Je pense que tu peux tout regrouper dans le concatener où dans la première valeur tu mets Gauche(A16 ;3) etc

Enfin pour ta clé de commande peut-être qu'un si suffit mais pas sur je creuse ce point.

A plus
 
Re : Création des codes alphanumériques à partir des noms et dates de naissance

ça donne :

=CONCATENER(GAUCHE(A16;3);GAUCHE(B16;1);JOUR(C16);MOIS(C16);DROITE(ANNEE(C16);2))

Par contre pour le mois il supprime le zéro je vois si autre chose est possible pour le récupérer.

=CONCATENER(GAUCHE(A16;3);GAUCHE(B16;1);JOUR(C16);SI(MOIS(C16)<=9;"0"&MOIS(C16);MOIS(C16));DROITE(ANNEE(C16);2))

Là ça fonctionne reste l'histoire de ta clé
 
Re : Création des codes alphanumériques à partir des noms et dates de naissance

As-tu beaucoup de personnes à tester? Si moins de 100 tu peux mettre un numéro d'office à chaque ligne qui s'incrémente de 1 à chaque fois sinon si moins de 1000 personnes peut être trois chiffres en clé. ça simplifierait le tout.

J'attends de tes nouvelles
 
Re : Création des codes alphanumériques à partir des noms et dates de naissance

Bonjour,
à tester (ton exemple comporte une erreur) :
Code:
=GAUCHE(A16;3)&GAUCHE(B16;1)&TEXTE(JOUR(C16);"jj")&SI(D16="F";MOIS(C16)+50;TEXTE(MOIS(C16);"mm"))&TEXTE(ANNEE(C16);"aa")&DROITE(ANNEE(C16);2)&TEXTE(SOMMEPROD(--(GAUCHE(A$16:A16;3)=GAUCHE(A16;3));--(GAUCHE(B$16:B16;1)=GAUCHE(B16;1));--(C$16:C16=C16));"00")
A+
 
Re : Création des codes alphanumériques à partir des noms et dates de naissance

J'ai oublié ça : " (si sexe féminin ajouter 50)"

Par contre quand je teste ton code David ça donne "GARS1501059001" c'est quoi le 01 entre le jour de naissance et le mois?
 
Re : Création des codes alphanumériques à partir des noms et dates de naissance

Est-ce mieux comme cela ?
Code:
=GAUCHE(A16;3)&GAUCHE(B16;1)&TEXTE(JOUR(C16);"jj")&TEXTE(SI(D16="F";MOIS(C16)+50;MOIS(C16));"00")&DROITE(ANNEE(C16);2)&TEXTE(SOMMEPROD(--(GAUCHE(A$16:A16;3)=GAUCHE(A16;3));--(GAUCHE(B$16:B16;1)=GAUCHE(B16;1));--(C$16:C16=C16));"00")
A+
 
Re : Création des codes alphanumériques à partir des noms et dates de naissance

Bonjour à tous, bonjour David84, decricri

@ sadlersmith : Dans ton exemple, tu as des dates de naissance dans un ordre, et d'autres, dans l'autre ordre. Est-ce une erreur, ou est-ce vraiment le cas dans ton fichier réel ?

@ plus
 
Re : Création des codes alphanumériques à partir des noms et dates de naissance

Bonjour à tous,
Merci d'abord pour les réaction ultra rapides que vous avez à l'égard de mon problème.
CISCO a raison, la première date de naissance est dans un ordre(format) différent des autres. Le vrai ordre c'est ce qui est utilisé par la suite. En fait c'est moi qui ai inversé la première date parce que dans l'ordre original je ne parvenais à avoir les 2 derniers caractères de l'année de naissance et j'ai donc inversé pour tester.
 
Re : Création des codes alphanumériques à partir des noms et dates de naissance

J'ai copié intégralement la formule de cisco que j'ai directement collée dans la cellule et le résultat est bon. Sauf qu'elle est tellement longue cette formule que je me demande comment la retenir. Pourrait t-il avoir une décomposition pour mieux la retenir ou pour l'apprenstissage?
Merci à vous
 
Re : Création des codes alphanumériques à partir des noms et dates de naissance

Bonsoir

Ce n'est pas moi qui ai proposé la formule du post #9, mais david84.

juste pour que tu comprennes plus facilement cette formule, je l'ai un peu modifiée dans le fichier ci-joint et l'ai écrite sous la forme
Code:
dixpremiers&TEXTE(SOMMEPROD((dixpremiers=GAUCHE(G$15:G15;10))*1)+1;"00")
avec le nom dixpremiers qui donne les dix premiers caractères désirés
dixpremiers=GAUCHE(A16;3)&GAUCHE(B16;1)&TEXTE(JOUR(C16);"jj")&TEXTE(SI(D16="F";MOIS(C16)+50;MOIS(C16));"00")&DROITE(ANNEE(C16);2)

@ plus
 

Pièces jointes

Re : Création des codes alphanumériques à partir des noms et dates de naissance

Bonsoir à tous

Pour infos
1 est la valeur par défaut pour les fonctions GAUCHE et DROITE
donc =GAUCHE(B16;1) peut s'écrire GAUCHE(B16)
Par contre cela n'est pas vrai en VBA ou il faut laisser le 1 Left(String,1)
Vous me direz : à quoi ça sert de savoir cela ??

Bah ça mange pas de pain et c'est pour ceux qui aiment bien raccourcir leur forumules
Là on a deux caractères de moins

Youpi 😉
 
- 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
Retour