Répartir/dispatcher aléatoirement sous excel

Résolu/Fermé
Tibo. - 21 févr. 2012 à 09:32
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 2 juin 2014 à 21:07
Bonjour,

Après plusieurs recherches infructueuses sur le net, je me tourne vers vous pour obtenir une réponse. Peut être n'ai-je pas trouvé de réponse car je ne savais pas exactement quoi taper comme mots clés. Bref, voici mon problème, qui me paraissait tout bête, mais en fait non...

J'ai une liste de 200 articles que je souhaite dispatcher aléatoirement dans 22 zones de stock.

J'avais pensé générer des chiffres aléatoirement entre 1 et 22. Mais en fait, je souhaiterai que les 22 zones contiennent quasiment le même nombre d'articles.

Heuu.... Si je ne suis pas clair, je peux reformuler, ou essayer en tout cas.

Merci beaucoup pour votre aide !

Tibo.


A voir également:

6 réponses

Je n'ai pas posé ma question au bon endroit ?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 713
Modifié par gbinforme le 21/02/2012 à 22:31
bonjour

voici mon problème, qui me paraissait tout bête, mais en fait non...

Effectivement, tu as raison, la solution à ton problème n'est pas toute bête à trouver et il ne faut pas t'étonner que les réponses ne soient pas arrivées en rafale.

Pour résoudre ton cas je t'ai fait un petit exemple :

https://www.cjoint.com/?BBvwEV6DyMw

Si tu n'as pas toutes les clés pour l'utiliser, n'hésites pas à poser les questions.

Toujours zen
0
Raymond PENTIER Messages postés 58801 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 janvier 2025 17 264
22 févr. 2012 à 00:26
Impressionnant !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 713
22 févr. 2012 à 09:42
Bonjour Raymond,

Merci du message mais il faut attendre, pour voir si cela correspond à l'attente de Tibo.
0
Salut gbinforme !

Effectivement, c'est impressionnant ! Et effectivement, ce n'était pas tout bête. Donc un grand merci pour ta solution !

Par contre, si je comprends bien ton travail, les articles au sein de chaque zone, se succèdent, non ?
Et pourquoi certains articles se répètent-ils deux fois ?


Dans tous les cas, merci beaucoup !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 713
22 févr. 2012 à 17:09
bonjour Tibo,

Je me suis basé sur ta demande :que les 22 zones contiennent quasiment le même nombre d'articles.

pourquoi certains articles se répètent-ils deux fois ?

Tout bêtement parce que tu as 200 articles à caser dans 22 zones :
- soit j'en met 9 par zone et il t'en reste 2 sur les bras.
- soit j'en met 10 par zone (comme sur l'exemple) et tu as 18 doubles avec 220 articles casés.
ce n'est que de l'arithmétique de base.

les articles au sein de chaque zone, se succèdent, non ?

Avec la formule que je t'ai donnée, c'est le cas car les zones sont remplies successivement de façon à avoir une bonne répartition.

Si tu veux avoir un mélange plus hétéroclite, il faut introduire un facteur supplémentaire dans la formule que je n'ai pas travaillé car il faut bien le trouver en raison des nombres de zones et d'articles très dissemblables. Si cela présente un intérêt pour toi et que tes 22 zones et 200 articles sont figés, je veux bien regarder.
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
22 févr. 2012 à 23:24
Bonsoir à tous,

Si tu veux de l'aléatoire dans le rangement, sans répétition, tu peux envisager, sur la base de la proposition de gbinforme de :
1) générer une séquence aléatoire en $C$2:$C$201 via la formule =ALEA()
2) ensuite, dans la zone stocks mettre la formule :
=SI((LIGNE()-LIGNE(stocks))*22+COLONNE()-COLONNE(stocks)+1>nbarticles,"",INDEX($A$2:$A$201,RANG(INDEX($C$2:$C$201,(LIGNE()-LIGNE(stocks))*COLONNES(stocks)+COLONNE()-COLONNE(stocks)+1),$C$2:$C$201,1)))

j'utilise nbarticles qui vaut NBVAL(articles).

J'aurais bien aimé masquer cette colonne "aléatoire" en C:C mais je n'ai pas trouvé comment créer un nom qui ne s'appuie pas sur des cellules (genre =ALEA()*(LIGNE(INDIRECT("1:"&nbarticles))>=0)) et qui contienne une séquence aléatoire stable.

Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Waouuu !

Alors là, le couple gbinforme/JvDo est impressionnant ! C'est exactement ce que je souhaitais !

Un grand merci à vous Ô Grands Sages d'Excel ! ;)

Tibo.

PS : comment pouvez-vous penser à écrire une formule comme celle-ci ?! Où apprend on cela ?!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 713
23 févr. 2012 à 10:30
Bonjour Tibo,

Attention à la formule aléatoire car ton rangement est chamboulé à chaque calcul, il faut figer ta colonne C lorsque le classement te convient (copier/collage spécial/valeurs)
0
Je le savais, donc j'avais pris les devants et j'avais complètement copier le tableau complet dans un autre fichier avec un collage spécial valeurs.
Ca fonctionne donc parfaitement.

Et je vais pouvoir me la ronfler sévère si quelqu'un jette un oeil à mon écran au bureau ! 'fin, faudra pas qu'il pose de question...


Bref, encore merci !
0
@moon Messages postés 1 Date d'inscription lundi 2 juin 2014 Statut Membre Dernière intervention 2 juin 2014
2 juin 2014 à 17:54
Bonjour,
j ai le même problème que tibo mais en plus compliqué... un nombre Y articles a dispatcher sur X points , mais en respectant des critères de choix....
je voulais voir l'exemple de gbinforme mais j'arrive pas à télécharger le document .. quelqu'un peut m être utile svp
0
Raymond PENTIER Messages postés 58801 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 janvier 2025 17 264
2 juin 2014 à 21:00
Normal : il date de 27 mois, alors que le serveur cjoint.com stipule "CJoint.com conserve votre lien actif pour la durée choisie. Il est ensuite définitivement détruit ainsi que toute pièce jointe associée. Pour l'illimité, le lien et les documents seront détruits si ils restent 60 jours consé-cutifs sans consultation."
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 713
2 juin 2014 à 21:07
Bonjour,

Ma ventilation était faite avec une formule DECALER
=DECALER(articles;MOD(((COLONNE()-2)*(NBVAL(articles)/NBVAL(stock)))+(LIGNE()-1);NBVAL(articles));;1;1)

Donc la ventilation n'a comme critères de choix que le résultat des calculs.

Si tu pouvais nous mettre un exemple de structure des données, sans éléments personnels, avec les résultats souhaités expliqués clairement, se serait plus facile de t'aider.
Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ et tu mets ici le lien obtenu.
0