Répartition aléatoire de groupes de cellules sous conditions

Bonjour,
Les « 0 » ne sont pas des erreurs mais les valeurs qui viennent ensuite le sont. Par exemple, sur l’image de mon message précédent, il y a des « 0 » en D4 et E4, c’est très bien cela respecte la condition des paliers. En cellule D5, il y a « 73 », cela respecte ma condition des paliers mais cela ne correspond pas à la première valeur de l’un des groupes. Après un « 0 », si on met un groupe il doit apparaitre dans son entièreté.
Si on reprend la première version que je t’ai envoyé les groupes sont bien répartis seulement, ils ne respectent pas les paliers de 90.

Non pour répondre à ta deuxième question, ce n’est pas pour choisir le nombre sur les 7 groupes déjà en place mais pour choisir la valeur entrée en X8 (actuellement elle se remplit automatiquement après l’exécution de la macro), c’est à dire choisir le nombre de groupes à répartir sur ma plage horaire.

Petite précision : Les « 0 » qui apparaissent dans le tableau doivent être sur fond blanc puisqu’il n’appartiennent à aucuns groupes. Dès lors qu’il y a une couleur, c’est qu’il s’agit de gr1,2,3,4,5 ou 6 et il doit apparaître en entier.

Dans ta dernière version, il y a des « 0 » dans les groupes, or si il y a un « 0 » cela doit décaler le début du groupe plus bas.

En espérant être plus clair,

Cdlt,

Aurélien.

Désolé mais mon traitement soit conserve les données soit les remplace par des 0
Toutes données autre que 0 ne proviennent pas de ce que j ai mis en place mais du traitement de base
Donc c est celui-ci qui en est à l origine
Si le remplacement de la donnée par un 0 doit s accompagner d une correction des chiffres qui suivent il faut me donner le contexte pour le realiser et l etendu de cette correction

« Si on reprend la première version que je t’ai envoyé les groupes sont bien répartis seulement, ils ne respectent pas les paliers de 90. »

Il est peut etre très difficile de concilier les 2
Soit c est les palier soit c est la bonne répartition des groupe
Le traitement de base fait correctement cette bonne répartition de groupe que mon traitement qui s en suit met à mal pour réaliser la condition des paliers
Peut être en demandes tu un peu trop et qu il faudra choisir entre l un ou l autre
A toi de me donner les billes pour tenter d adapter ma procédure à la coexistence des 2

Pour le reste je nage totalement

« c’est à dire choisir le nombre de groupes à répartir sur ma plage horaire »
Quelle plage horaire ?

Je comprends ce que tu veux dire. Je ne sais pas trop comment on pourrait adapter ta procédure pour faire coexister les 2 conditions, je ne m’y connais pas trop…

Dans le fichier ci-joint en feuille 2, j’ai un exemple où j’arrive à concilier les deux, c’est-à-dire, respect de la taille des groupes et les paliers de 90. Seulement je ne parviens pas à choisir le nombre de groupes total à répartir (toujours la valeur en X8). J’aimerais choisir dans une cellule que je veux X groupes au total, ensuite la macro fait la répartition des différents gr1,2,3,4,5 et 6.
Quand je parle de toute la plage horaire je veux dire mon tableau dans son entièreté, la plage horaire est inscrite dans la colonne A, elle va de 6:00 à 20:00.

Répartition aléatoire forum 1b.xlsm (77,9 Ko)

Le souci que j ai c est que la répartition des groupes se fait par le traitement de base colonne par colonne de « B » à « E » et donc d être contraint de mettre le mien Après car la condition des paliers elle concerne chaque ligne
Or pour concilier les 2 il faudrait que les 2 traitements soient imbriqués ce qui est impossible lorsque l un agit par colonne l autre par ligne
Il faudrait que la procédure de base agisse ligne par ligne et non colonne par colonne

« Dans le fichier ci-joint en feuille 2 »

Quel fichier ?

« Seulement je ne parviens pas à choisir le nombre de groupes total à répartir (toujours la valeur en X8) »

As tu testé mon dernier fichier transmis qui ne traite que 6 groupes au lieu des 7

On peut très bien moduler ce nombre et par exemple ne mettre que le premier le traitement de base ne traite que celui-là test à l appui

Puis si cela convient utiliser la cellule X8 pour que ce traitement récupère le nombre de groupe à utiliser

Essaies de voir

Excuse moi, je viens de l’ajouter cela n’avait pas fonctionné.

Je souhaite toujours utiliser les 6 groupes mais c’est bien le nombre total que j’aimerais pouvoir choisir. J’aimerais pouvoir dire : je veux 15 groupes à répartir et après en exécutant la macro, il y a 4 gr1, 3 gr2, 3 gr3, 2 gr4, 2 gr5, 1 gr6 (c’est un exemple)

« je veux 15 groupes à répartir et après en exécutant la macro, il y a 4 gr1, 3 gr2, 3 gr3, 2 gr4, 2 gr5, 1 gr6 (c’est un exemple) »
Donc il faut autant de cellule X8 que de groupe pour avoir le nombre de chacun à utiliser :

X8 pour 4 gr1
X8 pour 3 gr2
X8 pour 3 gr3
X8 pour 2 gr4
X8 pour 2 gr5
X8 pour 1 gr6

Donc ayant qu une cellule X8 pour mettre les 6 combinaisons comment comptes tu procéder ?

Ces cellules existent déjà mais elles sont remplies par la macro à chaque fois qu’on l’exécute :
X1 = nombre de groupes gr1
X2 = nombre de groupes gr2
X3 = nombre de groupes gr3
X4 = nombre de groupes gr4
X5 = nombre de groupes gr5
X6 = nombre de groupes gr6
X7 = nombre de groupes gr7 => j’avais ajouté ce groupe pour mettre des « 0 » dans ma répartition mais il n’est pas obligatoire.
et X8 = nombre total des groupes

Donc on a pas besoin de la cellule X8 simplement des cellules X1 à X7

Oui on peut faire sans…

Ci-joint ton fichier adapté
Je ne sais si il fonctionne comme tu le souhaites concernant le nombre d utilisations des groupes
Testes en mettant ce nombre en colonne X de X1 à X7
Le traitement utilise la colonne V pour rapporter le nombre de fois que le groupe en W même ligne est sollicité et le compare par rapport à la valeur saisie en colonne X de cette même ligne
Dés que les valeurs sont identiques le groupe n’est plus utilisé

Fais des essais et dis moi

Répartition aléatoire forum 3.xlsm (46,8 Ko)

Il y a encore quelques erreurs pour la répartition des groupes, mais c’est une bonne piste, merci !

Bonjour
Quelles erreurs ?
Merci de me les indiquer
Resultats obtenus avec celui attendus

Concernant les groupes, ils n’apparaissent pas en entier. Je voudrais quelque chose comme ça après exécution de la macro (exemple). Les groupes apparaissent bien en entier.
Image7

Avec à côté, un tableau comme celui ci-dessous ou je rentre combien de groupes je veux voir se répartir.

Image8

C est à dire certains groupe n ont pas l l’intégralité de leur valeur ou est ce un problème d affichage ?
Qu entends tu par

« Concernant les groupes, ils n’apparaissent pas en entier »

Merci d être precis

Pour le tableau des groupes avec leur nombre tu l as bien en colonne « W » et « X »

Oui il n’y a pas l’intégralité de leur valeur.
Oui il y a leur nombre seulement, ils ne se répartissent pas aléatoirement, c’est toujours le même enchainement de groupes. C’est-à-dire, un gr1,un gr2,un gr3,un gr4,un gr5, un gr6, un gr1… etc (voir ci-dessous)

Image9

Cela ne répond pas à mes attentes, tous les groupes sont ajoutés un à un dans l’ordre et dans les 2 premières colonnes.
J’aimerais que lorsque j’exécute ma macro ils se répartissent aléatoirement dans les 4 colonnes.

Tu ne peux pas demander à de l aléatoire sensé utiliser comme c est sa vocation un groupe tiré de son chapeau et parceque celui-ci à atteint le chiffre que tu lui a attribué le refuser c est contradictoire
C est soit de l aléatoire mais alors aucune contrainte de quantité soit un nombre maximun pour chaque groupe à utiliser mais ce ne peut être de l aléatoire il faut choisir
Pour moi les 2 ne peuvent coexister
Dans le cadre de l aléatoire il peut être tout à fait concevable qu un seule groupe soit utilisé c est le propre de sa philosophie aucune regle de choix le regit et notamment des maximum à imposer

Pour moi je ne vois d autre alternative

C est à toi de choisir :
Ou aléatoire ou maximun

Testes cette version dans laquelle j’ai réinclus le choix du groupe aléatoire avec les quantités maximum pour chacun d’eux
Un aléatoire qui pour moi n’en est pas un car conditionné à des seuils à ne pas dépasser
Mais peut être cela te convient il

Testes et dis moi

Répartition aléatoire forum 4.xlsm (47,4 Ko)

Une autre version peut être mieux à tester

Répartition aléatoire forum 5.xlsm (47,6 Ko)

1 « J'aime »

Super! Merci beaucoup pour le temps accoré à mon projet !!

Petite precision sur cette dernière version
Je laisse le traitement aléatoire choisir le groupe puis mon adaptation verifie l etats de la cellule en colonne « V » qui correspond au nombre de fois que ce groupe a été utilisé en le comparant au nombre maximum à ne pas depasser le concernant saisi en colonne « X »
Si celui-ci est atteint j ai rajouté un traitement qui incrémente autan de fois que nécessaire le numéro du groupe donné aléatoirement pour prendre le premier qui a encore de la réserve en terme d utilisation en comparant toujour sa colonne « V » avec sa colonne « X »
Attention de laisser la colonne « V » de la ligne 1 à 7 toujours disponible pour cette procédure
D un choix donc aléatoire si celui-ci n est pas utilisable car son maximum est atteint il devient déterminé pour permettre de donner un lot de valeur à integrer dans la colonne en cours de traitement
Une ligne de code verifie en permanence une disponibilité entre tous les groupes avec arrêt du traitement dans le cas contraire

Donc cette version permet un choix aléatoire d un groupe sauf si celui-ci a atteint son maximum saisi en colonne « X » par comparaison à son nombre d utilisation en colonne « V » auquel cas le choix est déterminé non aleatoire

J espère qu ainsi cela te convient j ai essayé au mieux de répondre à tes attentes
Le traitement des paliers (4X90) n a pas été modifié

Au plaisir de t aider une prochaine fois