Comment répartir aléatoirement 500h par an avec EXCEL 2007?

Comment répartir aléatoirement 500h par an avec EXCEL 2007? - Divers - Programmation

Marsh Posté le 28-04-2014 à 14:00:10    


Hello!
question pour les experts d'EXCEL!
 
voici mon problème :
une personne A regarde la TV 500h par an.
Je voudrais répartir aléatoirement ces 500h sur 365 jours (avec une valeur comprise entre 0 et 12h max par jour).
 
Pour cela, à l'aide d'EXCEL (2007), j'ai commencé à mettre dans une 1ere colonne les 365 jours (1 janvier jusqu'au 31 déc).
Dans une 2e colonne, j'aimerais mettre en face de chaque jour un nombre d'heures de visionnage TV compris entre 0 et 12h.
J'ai tenté la fonction EXCEL ALEA.ENTRE.BORNES(0;720) (NB: j'ai mis 720min, cad 12h, car je voudrais une granularité d'1 min,  
et pas d'1h)
Le problème est que je dois impérativement réussir à ce que la somme annuelle totale des heures  
visionnées soit 500h, ce que la formule que j'ai tapée ne permet pas....
 
Des idées?? (avec simplement des formules EXCEL, sans avoir besoin de générer une macro..)
 
Merci à vous :)

Reply

Marsh Posté le 28-04-2014 à 14:00:10   

Reply

Marsh Posté le 28-04-2014 à 14:36:51    

Sans macro, je doute que ça soit possible parce que t'as 2 contraintes interdépendantes mais à des niveaux différents : l'une au niveau de la cellule (un nb de 0 à 12, en plus entier ou pas ?) et l'autre au niveau de la plage totale des cellules (Somme des cellules = 500).
 
A mon sens, faut d'abord générer un vecteur solution répondant aux 2 contraintes puis reporter ce vecteur dans le tableau excel.
Pour générer le vecteur solution, je verrais bien une boucle for de 1 à 365 avec un random de 0 à ValMax ou ValMax est le min entre 12 et SommeTotale, cette dernière étant la somme des nb aléatoires générés précédemment.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed