(Excel 2003)
Le Forum,
Bonjour,
ROGER2327_612 avait conçu de la codification VBA géniale et d’exécution ultra-rapide dans une discussion https://www.excel-downloads.com/threads/tirage-au-sort-avec-contrainte.200109/
Le fichier ci-joint contient cette codification, adaptée.
Sur commande, une équipe de bénévoles y est rangée par deux pour réaliser des missions sur lieux et en plages horaires définis ultérieurement dans le tableau récapitulatif en feuil10.
Il faut d’abord procéder de 1 à 4 tirages, en feuil11 à 14, mais je bloque sur deux contraintes.
Ces contraintes sont données en feuil2 « Paramètres » en :
- colonnes Q et R pour « ne sera jamais avec… »
- colonnes S et T « a une préférence pour être avec… ».
C’est pour cela que je me rapproche du Forum pour savoir si une solution peut être trouvée en VBA.
Complément d’informations sur le fonctionnement de l’application :
Je récupère les listes de feuil4 (colonne D à AA) et je les place, une à une, en feuil11 en cellule F6.
Ensuite la feuil11 propose un premier tirage de binômes.
Je sélectionne (« E ») (par un double clic gauche) et le reste sera référencé en (« Q ») (bouton ‘Prépa Tirage suivant’) pour partir en report en feuil12 pour un deuxième tirage de binômes à sélectionner… avec les mêmes manip en Feuil13 et si nécessaire pour un dernier tirage en feuil14.
J’ai ainsi mes groupes de binômes pour 2 ou 3 ou 4 périodes pendant les dix jours répertoriés dans la feuil10 qui m’affichera plus tard les résultats.
Pour répondre à trois contraintes de la feuille Paramètres, je retire manuellement les individus en feuil11 de la première liste AVANT de procéder au tirage n° 1 :
- colonne N : les bénévoles de moins de 18 ans seront retirés de la liste (s’ils y sont) ainsi qu’un adulte retiré aussi de cette liste. Ainsi le bénévole mineur sera accompagné d’un adulte, pour recevoir uniquement une mission s’achevant à 22 h 00 maxi.
- Colonne O : les nouveaux (pour les deux premières missions) ; je les mets avec un ancien. Ensuite ces nouveaux pourront être ensemble ou avec un adulte, indifféremment.
- Colonne P : « Toujours avec » ; ceux-là sont retirés de la liste Colonne F des feuil11 à 14 et je leur attribue une mission « ensemble ».
Ce serait magnifique si les deux dernières contraintes colonne Q à colonne T dans paramètres, appliquées dans les tirages Feuil 11 à 14, pouvaient fonctionner en «automatique ».
Quant à la macro actuelle de ROGE2327, elle fonctionne déjà à merveille et je mettrai sûrement 10 ans pour comprendre son fonctionnement, ligne après ligne…
Au plaisir de recevoir une suite à cette requête,
Cordialement,
Webperegrino
Le Forum,
Bonjour,
ROGER2327_612 avait conçu de la codification VBA géniale et d’exécution ultra-rapide dans une discussion https://www.excel-downloads.com/threads/tirage-au-sort-avec-contrainte.200109/
Le fichier ci-joint contient cette codification, adaptée.
Sur commande, une équipe de bénévoles y est rangée par deux pour réaliser des missions sur lieux et en plages horaires définis ultérieurement dans le tableau récapitulatif en feuil10.
Il faut d’abord procéder de 1 à 4 tirages, en feuil11 à 14, mais je bloque sur deux contraintes.
Ces contraintes sont données en feuil2 « Paramètres » en :
- colonnes Q et R pour « ne sera jamais avec… »
- colonnes S et T « a une préférence pour être avec… ».
C’est pour cela que je me rapproche du Forum pour savoir si une solution peut être trouvée en VBA.
Complément d’informations sur le fonctionnement de l’application :
Je récupère les listes de feuil4 (colonne D à AA) et je les place, une à une, en feuil11 en cellule F6.
Ensuite la feuil11 propose un premier tirage de binômes.
Je sélectionne (« E ») (par un double clic gauche) et le reste sera référencé en (« Q ») (bouton ‘Prépa Tirage suivant’) pour partir en report en feuil12 pour un deuxième tirage de binômes à sélectionner… avec les mêmes manip en Feuil13 et si nécessaire pour un dernier tirage en feuil14.
J’ai ainsi mes groupes de binômes pour 2 ou 3 ou 4 périodes pendant les dix jours répertoriés dans la feuil10 qui m’affichera plus tard les résultats.
Pour répondre à trois contraintes de la feuille Paramètres, je retire manuellement les individus en feuil11 de la première liste AVANT de procéder au tirage n° 1 :
- colonne N : les bénévoles de moins de 18 ans seront retirés de la liste (s’ils y sont) ainsi qu’un adulte retiré aussi de cette liste. Ainsi le bénévole mineur sera accompagné d’un adulte, pour recevoir uniquement une mission s’achevant à 22 h 00 maxi.
- Colonne O : les nouveaux (pour les deux premières missions) ; je les mets avec un ancien. Ensuite ces nouveaux pourront être ensemble ou avec un adulte, indifféremment.
- Colonne P : « Toujours avec » ; ceux-là sont retirés de la liste Colonne F des feuil11 à 14 et je leur attribue une mission « ensemble ».
Ce serait magnifique si les deux dernières contraintes colonne Q à colonne T dans paramètres, appliquées dans les tirages Feuil 11 à 14, pouvaient fonctionner en «automatique ».
Quant à la macro actuelle de ROGE2327, elle fonctionne déjà à merveille et je mettrai sûrement 10 ans pour comprendre son fonctionnement, ligne après ligne…
Au plaisir de recevoir une suite à cette requête,
Cordialement,
Webperegrino