Bonjour,
Mon Dernier probleme Calc.
Comment Creer un collonne Identifiant en fonction du nom et de la classe de l'etudiant?
J ai mon tableau avec liste des noms des etudiants et leurs classes.
Je souhaiterais une troisieme collonnes qui creer un ID par odre Alphabetique.
Donc exemple :
si etudiant "Albert" Classes 10, ID = 101
Etudiant "John", Classes 10, Id = 103
Etudiant Bernard, Classes 10 ID = 102
J ai essaye avec fonction DECIMAL(NomEtudiant) mais pas suffissant.
Quel Fonction puis je utiliser pr transformer un text en nombre est les trier ?
Merci pour votre aide
PS : je joins un fichier exemple.
Creation d'un ID unique en fonction du Nom
Modérateur : Vilains modOOs
Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
-
smadon
- Membre lOOyal

- Messages : 32
- Inscription : 08 oct. 2008 08:08
Creation d'un ID unique en fonction du Nom
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office sur plusieur OS : OoO 2.4.1 sur WinXP et OoO 2.4.0 sur Ubuntu 8.0.4
-
squenson
- PassiOOnné

- Messages : 563
- Inscription : 21 avr. 2007 17:27
- Localisation : Lausanne, Suisse
Re: Creation d'un ID unique en fonction du Nom
Si A1 contient la classe et B1 le nom, je ferais:
C1 = A1 & "-" & B1
Et ensuite je trierais sur la colonne C. (Si la classe peut avoir un nombre variable de chiffres, utiliser TEXTE(A1;"0000") au lieu de A1 dans la formule ci-dessus)
Cela me semble préférable à vouloir un ID qui dépend de l'ordre alphabétique de l'étudiant. Si un "Aaron" arrive en cours d'année, tous les étudiants verront leur ID changer dans cette classe !
C1 = A1 & "-" & B1
Et ensuite je trierais sur la colonne C. (Si la classe peut avoir un nombre variable de chiffres, utiliser TEXTE(A1;"0000") au lieu de A1 dans la formule ci-dessus)
Cela me semble préférable à vouloir un ID qui dépend de l'ordre alphabétique de l'étudiant. Si un "Aaron" arrive en cours d'année, tous les étudiants verront leur ID changer dans cette classe !
LibreOffice 4.2.3.3. sous Ubuntu 14.04
-
smadon
- Membre lOOyal

- Messages : 32
- Inscription : 08 oct. 2008 08:08
Re: Creation d'un ID unique en fonction du Nom
Merci squeson pour ton aide.
Desole, j ai oublie de presicer pourquoi je voulais cette ID.
ID n'est pas le numero etudiant, c juste pour pouvoir le calcul.
En faites, mon objectif est de pouvoir refaire un trie dans une deuxieme feuille des etudiants en fonction de la clases.
Exemple, si je choisi la classe 10.
J ai uniquement mes etudiants de la classes 10 et si possible dans l autre alphabetique. (Voir sheet2)
J ai joint le fichier
Enfin ce numero pr le retrie me semble difficile a faire.
Je vais peut etre plutot me tourner vers une macro....
Desole, j ai oublie de presicer pourquoi je voulais cette ID.
ID n'est pas le numero etudiant, c juste pour pouvoir le calcul.
En faites, mon objectif est de pouvoir refaire un trie dans une deuxieme feuille des etudiants en fonction de la clases.
Exemple, si je choisi la classe 10.
J ai uniquement mes etudiants de la classes 10 et si possible dans l autre alphabetique. (Voir sheet2)
J ai joint le fichier
Enfin ce numero pr le retrie me semble difficile a faire.
Je vais peut etre plutot me tourner vers une macro....
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office sur plusieur OS : OoO 2.4.1 sur WinXP et OoO 2.4.0 sur Ubuntu 8.0.4
-
Ethernan
- Membre hOOnoraire

- Messages : 137
- Inscription : 28 oct. 2008 14:38
Re: Creation d'un ID unique en fonction du Nom
Bonjour,
Pourquoi ne pas faire un tableau croisé dynamique (pilote de données) ? C'est plus simple...
Ci-joint l'exemple. Le résultat est dans la feuille 4.
Pourquoi ne pas faire un tableau croisé dynamique (pilote de données) ? C'est plus simple...
Ci-joint l'exemple. Le résultat est dans la feuille 4.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 3.4 sous 7 et Fedora 13
-
squenson
- PassiOOnné

- Messages : 563
- Inscription : 21 avr. 2007 17:27
- Localisation : Lausanne, Suisse
Re: Creation d'un ID unique en fonction du Nom
Voici une formule générique qui retourne un nombre entre 0 et 1 à partir d'une chaîne de caractères de longueur arbitraire en D5 :
C'est loin d'être parfait comme formule, car je ne prend en compte que 240 caractères de la chaîne pour calculer la valeur (après cela bloque). Donc, pour les chaînes très longues, il y a un risque que le remplacement de caractères "bien" situés génère le même résultat. La solution c'est bien sûr de faire une macro qui prendra en compte tous les caractères. Si j'ai le temps...
Code : Tout sélectionner
=ABS(SIN(SUMPRODUCT(CODE(MID(D5;1+LEN(D5)/240*{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100;101;102;103;104;105;106;107;108;109;110;111;112;113;114;115;116;117;118;119;120;121;122;123;124;125;126;127;128;129;130;131;132;133;134;135;136;137;138;139;140;141;142;143;144;145;146;147;148;149;150;151;152;153;154;155;156;157;158;159;160;161;162;163;164;165;166;167;168;169;170;171;172;173;174;175;176;177;178;179;180;181;182;183;184;185;186;187;188;189;190;191;192;193;194;195;196;197;198;199;200;201;202;203;204;205;206;207;208;209;210;211;212;213;214;215;216;217;218;219;220;221;222;223;224;225;226;227;228;229;230;231;232;233;234;235;236;237;238;239;240};1));LOG({2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100;101;102;103;104;105;106;107;108;109;110;111;112;113;114;115;116;117;118;119;120;121;122;123;124;125;126;127;128;129;130;131;132;133;134;135;136;137;138;139;140;141;142;143;144;145;146;147;148;149;150;151;152;153;154;155;156;157;158;159;160;161;162;163;164;165;166;167;168;169;170;171;172;173;174;175;176;177;178;179;180;181;182;183;184;185;186;187;188;189;190;191;192;193;194;195;196;197;198;199;200;201;202;203;204;205;206;207;208;209;210;211;212;213;214;215;216;217;218;219;220;221;222;223;224;225;226;227;228;229;230;231;232;233;234;235;236;237;238;239;240;241}))))LibreOffice 4.2.3.3. sous Ubuntu 14.04
-
smadon
- Membre lOOyal

- Messages : 32
- Inscription : 08 oct. 2008 08:08
Re: Creation d'un ID unique en fonction du Nom
squenson, Merci pr ta formule.
Pasr contre, je ne vois pas bien comment l'appliquer a mon classement.
Quel Chaine dois je appliquer en D5 pour avoir un classement par ordre alphabetique.
Si Je prends le Nom de l'etudiant ("John Doe") en D5 la formule retourne 1 car il y a un espace.
Et si on utlise la formule sans espace, elle ne retourne qu'un nombre en fonction de la taille du nom.
Quel chaine dois je mettre en D5 ?
Merci pr ton aide
Pasr contre, je ne vois pas bien comment l'appliquer a mon classement.
Quel Chaine dois je appliquer en D5 pour avoir un classement par ordre alphabetique.
Si Je prends le Nom de l'etudiant ("John Doe") en D5 la formule retourne 1 car il y a un espace.
Et si on utlise la formule sans espace, elle ne retourne qu'un nombre en fonction de la taille du nom.
Quel chaine dois je mettre en D5 ?
Merci pr ton aide
Open Office sur plusieur OS : OoO 2.4.1 sur WinXP et OoO 2.4.0 sur Ubuntu 8.0.4
-
Pierre-Yves Samyn
- Grand Maître de l'OOffice

- Messages : 11276
- Inscription : 02 mai 2006 08:42
Re: Creation d'un ID unique en fonction du Nom
Bonjour
Si je ne m'abuse tu ne commentes pas la proposition de Ethernan... Utiliser un pilote de données te permet exactement (en ajoutant la classe en champ de page) d'obtenir ce que tu souhaites : sélectionner la classe et obtenir dynamiquement la liste des élèves triée :
Si je ne m'abuse tu ne commentes pas la proposition de Ethernan... Utiliser un pilote de données te permet exactement (en ajoutant la classe en champ de page) d'obtenir ce que tu souhaites : sélectionner la classe et obtenir dynamiquement la liste des élèves triée :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.