> Tous les forums > Forum Bureautique
 Comment désorganiser le classement d'une colonne Excel?Sujet résolu
Ajouter un message à la discussion
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]
sou77
  Posté le 10/03/2021 @ 09:19 
Aller en bas de la page 
Petit astucien

Bonjour les amis,

J'ai besoin de votre aide concernant la préparation d'un test. Au fait, je viens de recevoir un fichier Excel contenant les noms, prénoms et dates de naissance des candidats classés par ordre alphabétique mais comme je veux bien que la liste soit anonyme, je veux mettre les noms des candidats en désordre pour créer un code. En quelque sorte, je veux désordonner le classement déjà fait avant de mettre le code pour que le nom et le prénom du candidat ne soit pas découvert.

Je vous sollicite donc pour une astuce, ou une formule Excel pour mettre en désordre le nom des candidats (chaque candidat doit bien sûr garder son nom, prénom et sa date de naissance bien sûr).

En attendant vos réponses, je vous souhaite une excellente journée et vous prie de croire à toutes mes sincères salutations.

Publicité
poussebois
 Posté le 10/03/2021 à 09:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Bonjour ,

Une solution consisterait à créer une nouvelle colonne dans laquelle tu recopierais mettons, les 3 dernières lettres de chaque nom par la formule =DROITE(Cellule_du_Nom;3), de faire in tri alphabétique sur cette colonne, puis le désordre ayant été établi, de supprimer cette colonne.

Solution un peu tarabiscotée, je l'avoue. Il doit y avoir plus simple, mais ça ne me vient pas à l'idée...

@ +

Pegase7845
 Posté le 10/03/2021 à 10:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Une autre solution (très voisine) : tu crées une colonne supplémentaire dans laquelle tu recopies pour chaque ligne la formule =ALEA.ENTRE.BORNES(1; 100) qui va générer des nombres entiers compris entre 1 et 100. Il peut y avoir des doublons mais c'est sans importance.

Ensuite comme poussebois tu fais un tri sur cette colonne pour l'ensemble du tableau puis tu effaces la colonne si elle te gêne.

A chaque fois que tu lanceras un tri tu auras un ordre différent

Complément :

Si tu augmentes la borne Max (100) à 1000 alors que par exemple tu n'as que 10 lignes à trier, tu auras moins de chance d'avoir des doublons

w36xb2w
 Posté le 10/03/2021 à 11:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour

Je ne vois pas en quoi mettre en désordre permet de faire un test de ?

les noms seront toujours affichés dans une colonne donc pas anonymes

Part contre masquer les colonnes intéressées et les Verrouiller par mot de passe serait peut être une solution.



Modifié par w36xb2w le 10/03/2021 11:41
Gallagh
 Posté le 10/03/2021 à 11:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

oui, on ne comprends trop bien ce que tu veux faire au juste

mettre les noms des candidats en désordre pour créer un code

un code ? quel code ? tu veux cacher la liste avec un code ? si oui, quel besoin de la mettre en désordre ?

que veux tu montrer exactement et dans quel but ?

harry cauver
 Posté le 10/03/2021 à 12:25 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Message original par sou77

je veux mettre les noms des candidats en désordre pour créer un code. En quelque sorte, je veux désordonner le classement déjà fait avant de mettre le code pour que le nom et le prénom du candidat ne soit pas découvert.

comme dit précédemment, je ne vois pas l' intérêt, mais bon, regarde là à tout hasard > Mélanger une liste (01net.com)

bye

Gallagh
 Posté le 10/03/2021 à 12:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

harry cauver a écrit :
Mélanger une liste (01net.com)

Solution qu'on lui a déjà proposée ...



Modifié par Gallagh le 10/03/2021 12:40
harry cauver
 Posté le 10/03/2021 à 12:45 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

peut être, mais bon au moins il y en a qui proposent

sou77
 Posté le 10/03/2021 à 15:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour;

Tout d'abord, je dois vous exprimer tous tous mes remerciements les plus vifs pour vos suggestions et votre intérêt à ma requête. Je trouve toutes vos propositions très intéressantes.

Je suis actuellement au travail mais je vais tester vos propositions ce soir et vous rendre le résultat.

Pour mieux vous éclaircir pourquoi je veux attribuer des codes aux candidats, je vous informe que j'ai été chargé de cette tâche par mon employeur qui va organiser un concours professionnel. Pour la crédibilité de ce dernier, je dois donc attribuer à chaque candidat un code et rendre un fichier avec des codes seulement aux correcteurs qui ne doivent pas connaître ni le nom ni toute autre indication sur des candidats. Toutes les informations relatives aux candidats avec leur codification seront conservées sur un fichier Excel que je garderai précieusement. Les correcteurs n'auront qu'un autre fichier contenant des codes seulement. Ce n'est qu'à la fin des corrections et le calcul des moyennes que je révèlerai l'identité des candidats retenus.

J'ai une lourde tâche sur le dos, et je dois être digne de la confiance qui m'a été accordée. Je me trouve donc perdu pour trouver un moyen pour faire ce travail. C'est pour cela que je vous sollicite pour m'aider.

Merci infiniment pour votre précieuse aide et excellente journée à vous tous.

Publicité
w36xb2w
 Posté le 10/03/2021 à 15:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour

Je pense qu'un fichier lié est plus simple que la désorganisation

Les correcteurs n ont que le fichier nécessaire seul toi récupères la totalité lié.



Modifié par w36xb2w le 10/03/2021 15:12
Gallagh
 Posté le 10/03/2021 à 15:11 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

sou77

Si tu ne dois fournir QUE les codes à tes collègues, je ne vois absolument pas l'intérêt de mélanger la liste. A moins que eux même ne disposent de la même liste que toi.

Et encore que ..

une fois tes"codes" créés , mélanges tes codes que tu auras copié ailleurs, et pas ta liste initiale avec les codes ... et du coup, même s'ils ont la liste, il ne peuvent pas savoir que ta liste de codes n'est pas dans le même ordre.



Modifié par Gallagh le 10/03/2021 15:11
Pegase7845
 Posté le 10/03/2021 à 16:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Sou77

Maintenant que tu expliques le comment du pourquoi, c'est plus clair.

La méthode avec =ALEA.ENTRE.BORNES(1; 100) ne va pas fonctionner sans aménagement car à chaque ouverture du fichier, tu auras des nombres aléatoires différents

Combien de ligne à ton tableau ?

Je te propose dans la colonne ajoutée de mettre la formule =ALEA.ENTRE.BORNES(1; 10000) ainsi tu auras 4 chiffres par nombre à condition de formater ta colonne du type

Tu auras

Ensuite pour éviter de re-générer de nouveaux nb aléatoires il suffit que du sélectionnes la colonne A => Copier puis Coller les valeurs dans la même colonne, ainsi les formules =ALEA.ENTRE.BORNES(1; 10000 ) disparaitront et les valeurs seront figés.

Attention aux doublons que tu peux détecter avec la fonction ci-dessous

Il est donc inutile de désorganiser le classement des colonnes



Modifié par Pegase7845 le 10/03/2021 16:40
Gallagh
 Posté le 10/03/2021 à 16:45 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Pegase7845

Bien ta proposition mais ...... encore une fois QUEL INTÉRÊT de mélanger la liste pour ensuite générer des codes anonymes de toutes façons !! ??? (comme tu sembles le dire toi même)

Le seul intérêt c'est que par ce moyen, sou77 pourra générer des codes aléatoires pour remplacer les noms, s'il prend la précaution évidemment d'aller au bout de ton tuto.



Modifié par Gallagh le 10/03/2021 16:46
Gallagh
 Posté le 10/03/2021 à 17:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Si sou77 sait mettre en place une macro dans son fichier excel, elle peut utiliser ce code :

Sub NumeroAleatoire()
Dim a(10000) As Long, i As Long, q As Long
For i = 1 To 10000
a(i) = i
Next i
For i = 1 To 50 ' adapter ici le nombre de cellule à remplir
q = Application.RandBetween(1, 10001 - i)
Worksheets("sheet1").Range("D" & i + 1) = a(q) ' changer ici la lettre de la colonne à remplir
a(q) = a(10001 - i)
Next i
End Sub

Il suffit d'adapter le nombre de cellule à remplir (50 dans ce code) et la lettre de la colonne (D dans ce code) ou apparaîtront les codes. La macro ne génère pas de doublon.
(éventuellement remplacer 10000 par un autre chiffre, mais attention il faut corriger 10001 en conséquence, par exemple 200 et 201)



Modifié par Gallagh le 10/03/2021 17:23
Pegase7845
 Posté le 10/03/2021 à 17:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Gallagh

Je ne propose pas de mélanger la liste mais de créer une série de "code secret aléatoire" comme tu l'écris, d'ailleurs à la fin de mon message j'ai écrit

Il est donc inutile de désorganiser le classement des colonnes

Gallagh
 Posté le 10/03/2021 à 17:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Pegase7845 a écrit :

Gallagh

Je ne propose pas de mélanger la liste mais de créer une série de "code secret aléatoire" comme tu l'écris, d'ailleurs à la fin de mon message j'ai écrit

Il est donc inutile de désorganiser le classement des colonnes

OK, ma macro peut convenir parfaitement après adaptation comme je l'ai écrit plus haut. Elle s'inspire de ta proposition initiale.

Pegase7845
 Posté le 10/03/2021 à 18:11 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Gallagh nos messages se sont croisés.

J'avais aussi pensé à une macro (pour moi c'est ce que j'aurai fait) mais ne connaissant pas les connaissances de sou77 je me suis abstenu.

Publicité
Pegase7845
 Posté le 10/03/2021 à 19:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Gallagh sans surprise ta macro fonctionne parfaitement, attention toutefois pour les néophytes au "sheet1" qui est "feuil1" en excel fr.

Juste une question : comment peux-tu garantir qu'il n'y a pas de doublons ?

Bonne soirée

Gallagh
 Posté le 10/03/2021 à 19:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Pour le sheet1, que j'avais zappé en reprenant le code. Il faut mettre feuil1 effectivement. Merci !

Sinon, dans cette macro, on ne génère pas un nombre aléatoire à chaque cycle, avec la fonction aléa(0. On génére un tableau de 1 à 10000 (dans cet exemple), puis on choisit aléatoirement un chiffre dans le tableau. Ensuite, la valeur choisie est "sortie" du tableau avant le choix aléatoire suivant.

A dire vrai, je n'ai jamais vérifié à 100%, mais en générant une liste de 5000 chiffres, et en utilisant la fonction de suppression de doublons, on doit avoir une confirmation rapide. Pourtant, c'est une macro qu'on utilisait il y a 7 ou 8 ans au boulot ...

(Je ne suis pas sur le pc pour faire la manip)



Modifié par Gallagh le 10/03/2021 20:03
Pegase7845
 Posté le 10/03/2021 à 20:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Explication convaincante et cliare

Je n'avais pas percuté sur la fonction "sortie du tableau"

Bravo et Merci

Pégase

sou77
 Posté le 10/03/2021 à 20:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir,

Je vous remercie tous pour toutes vos réponses.

L'idée d'une macro me plait beaucoup. Automatiser le travail est une idée géniale mais malheureusement je ne m'y connais pas en langage VBA ou macros d'Excel. Mon utilisation d'Excel est basique et ne dépasse pas le traitement de données ou la création de graphiques.

Puisque le programme est déjà proposé par Gallagh que je remercie pour ses efforts pour cette programmation, pourriez-vous m'indiquer comment je peux l'intégrer à mon tableau (j'ai 881 candidats donc 881 lignes).

Je viens d'utiliser la fonction ALEA.ENTRE.BORNES et je suis satisfait du résultat. C'est ce que je souhaitait mais malheureusement comment j'ai trouvé des doublons (deux candidats ou plus ayant le même code). J'ai été déjà averti par Pegase 7845. J'ai suivi son conseil pour la mise en forme conditionnelle et j'en ai trouvé.

Je sais que je dois faire intervenir la fonction: ( si ) pour mettre une condition et ne pas regénérer le même chiffre aléatoire mais je ne sais pas comment créer une fonction composée sur Excel. Si cette astuce fonctionne mon fichier sera prêt demain. Est-ce que vous pouvez m'aider pour cette dernière étape?

Au fait la syntaxe que j'ai utilisée pour la génération des codes est: =ALEA.ENTRE.BORNES(1000; 10000)

Merci encore une nouvelle fois pour tous vos efforts et vos suggestions. Merci du fond du cœur!

Gallagh
 Posté le 10/03/2021 à 21:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Il te suffit de générer par exemple 1000 valeurs.

Ensuite dans l'onglet Données, tu as une fonction pour supprimer les doublons qui sont dans la liste.

Il ne te restera plus qu'à sélectionner les 881 premières valeurs et à les coller dans ta colonne en face de tes noms.

Pegase7845
 Posté le 10/03/2021 à 21:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Ta solution pour éradiquer les doublons est astucieuse, simple et efficace

Gallagh
 Posté le 10/03/2021 à 21:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

J'ai modifié la macro pour régler le problème de Sheet ou de Feuil

Sub NumeroAleatoire()
Dim a(10000) As Long, i As Long, q As Long
For i = 1 To 10000
a(i) = i
Next i
For i = 1 To 50 ' adapter ici le nombre de cellule à remplir
q = Application.RandBetween(1, 10001 - i)
ActiveSheet.Range("A" & i + 1) = a(q) ' changer ici la lettre de la colonne à remplir
a(q) = a(10001 - i)
Next i
End Sub

sou77, tu m’envoies ton fichier et j'insère la macro si tu veux. C'est le plus rapide. Je pourrais te donner une adresse email par MP.

sou77
 Posté le 10/03/2021 à 21:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci infiniment pour cette astuce très pratique.

J'ai pu éliminer les doublons mais maintenant j'ai des cases vides. Dois-je regénérer de nouvelles valeurs avec la même fonction utilisées précédemment?

Gallagh
 Posté le 10/03/2021 à 21:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

sou77 a écrit :

Merci infiniment pour cette astuce très pratique.

J'ai pu éliminer les doublons mais maintenant j'ai des cases vides. Dois-je regénérer de nouvelles valeurs avec la même fonction utilisées précédemment?

la solution est ici :

https://www.pcastuces.com/pratique/astuces/2726.htm

(plus rapide que de tout ré écrire ...)

Publicité
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
120,45 €SSD Corsair Force MP600 Core 1 To (NMVe M.2 Gen4, 4950/1950 Mo/s) à 120,45 € livré
Valable jusqu'au 22 Octobre

Amazon Allemagne fait une promotion sur le SSD Corsair Force MP600 1 To (NMVe M.2 Gen4) qui passe à 115,86 € (avec la TVA ajustée). Comptez 4,59 € pour la livraison en France soit un total de 120,45 € livré alors qu'on le trouve ailleurs à partir de 160 €. Ce SSD utilise une interface M.2 NVMe PCIe Gen4 x 4 pour une connexion simple et des performances exceptionnelles : jusqu’à 4950 Mo/s en lecture séquentielle et jusqu’à 1950 Mo/s en écriture séquentielle. Le SSD est doté de la technologie 3D QLC NAND haute densité offrant une endurance d’écriture durable et assorti d’une garantie de 5 ans. Il est accompagné d'un dissipateur thermique.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre
161,99 €SSD Samsung 870 QVO 2 To à 161,99 €
Valable jusqu'au 22 Octobre

Amazon fait une promotion sur le SSD Samsung 870 QVO 2 To qui passe à 161,99 € livré gratuitement. Ce SSD offre des vitesses de 560 Mo/s en lecture et 530 Mo/s en écriture. Il est garanti 3 ans.


> Voir l'offre
85,30 €Kit de 16 Go (2x8 Go) de mémoire DDR4 Corsair Vengeance RGB Pro 3600 MHz à 85,30 € livré
Valable jusqu'au 22 Octobre

Amazon Allemagne fait une promotion sur le kit de 16 Go (2x8 Go) de mémoire DDR4 Corsair Vengeance RGB Pro 3600 MT/s CL18 à 80,57 € (avec la TVA ajustée). Comptez 4,73 € pour la livraison en France soit un total de 85,30 € livré alors qu'on le trouve ailleurs autour de 110 €. Vous pourrez personnaliser la palette de couleurs directement depuis le logiciel Corsair iCU.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane.


> Voir l'offre

Sujets relatifs
Classement d'une liste sur le montant d'une colonne
comment remplacer automatiquement le contenue d'une cellule sur excel
comment remplacer automatiquement le contenue d'une cellule sur excel
Comment copier une formule Excel sur une colonne
Comment afficher la dernière information d'une colonne Excel
classement dans une colonne excel
comment enregistrer une conférence sur le net
excel 2016 remplir une colonne
VBA : Comment copier le résultat d'un calcul dans une cellule.
Comment enlever une barre dans fichier excel
Plus de sujets relatifs à Comment désorganiser le classement d''une colonne Excel?
 > Tous les forums > Forum Bureautique