Sélection aléatoire sous condition

Bonjour la commu,

Je joue à nouveau la carte ‹ appel à un ami ›.

Je suis déjà passé par ici concernant l’utilisation de deux tableurs pour l’attribution des rôles de permanences dans mon organisation.

Pour rappel, j’utilise un fichier annuel à destination du cadre pour renseigner de manière large les permanences attribuées et un second fichier, hebdomadaire, de rapportage des activités de la permanence.

Mes premières demandes visaient le rapatriement des permanences attribuées dans le fichier annuel vers le fichier hebdomadaire. Tout tourne, et ce, grâce à l’aide apportée sur le forum.

Je fais face maintenant à une nouvelle demande. Celle de désigner une équipe responsable par shift.

Je joins les deux fichiers:

  1. SV_QUOTA_TAV (fichier annuel que je gère chaque trimestre)
  2. Template PERM (fichier hebdomadaire de sortie).
    SV_QUOTAS_TAV.xlsm (22,7 Ko)
    Template Perm.xlsm (88,3 Ko)

Ce que je cherche à faire c’est mettre en évidence dans le fichier SV_QUOTA_TAV (couleur, cadre, que sais-je…) par code VBA une équipe par shift (1 shift = un créneau horaire, il y a donc 3 shifts par jour, chaque shift concerne 4 équipes) et que cette info suive dans le fichier de sortie Template Perm.

  • La seule véritable restriction étant que la même équipe ne devrait pas être désignée responsable plusieurs fois le même jour.

  • Le bonus serait une répartition équitable du nombre de fois où une équipe sera désignée responsable. Je pense néanmoins que cela rendrait la solution nettement plus compliquée (mais peut-être parce que je ne connais pas le champ du possible). En effet, il faudrait analyser la sélection (je rédige les rôles tous les trois mois et il faudrait donc que le code me permette de sélectionner la période à calculer, analyser le nombre de fois que chaque équipe est engagée et calculer la désignation ‹ responsable › au plus juste du ratio de l’engagement total). Cela me paraît fort compliqué.

La mise en évidence de l’équipe désignée comme responsable devrait pouvoir être reportée dans mon fichier de sortie hebdomadaire. C’est pourquoi je n’ai pas vraiment de souhait particulier sur la mise en forme à choisir, celle permettant par d’être récupérée par le code existant (Sub Récupération_Shift_Perm() du fichier Template Perm) serait parfaite.

Je reste à votre écoute pour toute proposition, piste ou question.

D’ores et déjà merci pour l’attention portée à ma demande (une autre va suivre concernant le même process de permanence mais sur une autre thématique. Je sépare donc pour plus de lisibilité).

Bonne journée.

Re la commu,
Je dois vraisemblablement avoir péché par excès d’explications au vu du manque de réactions. J’ai dû être ennuyeux… :laughing: Sorry

Je retente… mais en plus simple.

Je cherche un code me permettant de sélectionner une équipe par shift dans le fichier SV QUOTA. Cette sélection devrait pouvoir être importée par le code Sub Récupération Shift Perm vers le fichier template Perm.

En gros, dans le fichier SV QUOTA, partir de ça :
origine

Vers ça :
sélection

avec comme contraintes :

  1. Pouvoir sélectionner la période d’exécution du code (nécessaire)
  2. pas de sélection de la même équipe sur la même journée (nécessaire)
  3. le plus équitablement, possible (chaque équipe ne doit pas fournir de permanence à même hauteur et il est donc logique qu’elle puisse être responsable au regard de son implication générale) mais je ne sais pas comment procéder (et donc cerise sur le gâteau).

@FFO , vous m’excuserez de vous citer mais m’ayant bien aidé par le passé et proposé aide complémentaire…

Bonne journée.
HB

1 « J'aime »

Bonjour,
L’explication est très très claire :grin:
Juste une petite question:
-On a juste à colorer les résultats dans le tableau ou bien, il l’faut les lister quelque part ?
Will-Fread

Hey,
Il faudrait les mettre en évidence dans le fichier SV QUOTA. Ensuite, lors de l’import dans le fichier PERM avec la sub récupération shift Perm, la mise en évidence devrait suivre.
C’est pour ça que le formatage m’importe peu. C’est en fonction de ce qui est réalisable, cellule colorisée ou cadre ou casse différente.

Re, un petit test que j’ai fait:

Sub test()
Range("C4:AG7").Interior.ColorIndex = 0
For a = 3 To 33
Range(Cells(4, 3), Cells(4, a).Offset(a, 0)).Select
Cells(WorksheetFunction.RandBetween(4, 7), a).Interior.ColorIndex = 4
Next
End Sub

SV_QUOTAS_TAV.xlsm (29,3 Ko)
Will-Fread

Bonjour
Je me permet d’intervenir pour apporter ma petite pierre à l’édifice
J’avouerai ne pas avoir osé m’aventurer sur cette réalisation ayant quelques difficultés a bien en cerner le contour
Je te laisse oeuvrer tu sembles mieux l’appréhender mais de réagir sur une remarque du demandeur qui n’est pas tout à fait exacte ayant été à son origine :

« Ensuite, lors de l’import dans le fichier PERM avec la sub récupération shift Perm, la mise en évidence devrait suivre. »

C’est effectivement moi qui l’ai élaboré et après avoir vérifié ce traitement l’import ne ramène que les valeur rien d’autre sur cette ligne de code macro « Récupération_Shift_Perm » du fichier « Template Perm.xlsm »:

Sheets(donnéetraitée).Range("E7", "E10").Value = Workbooks("SV_QUOTAS_TAV.xlsm").Sheets("RECAP SHIFT PERM").Range(Cells(ligne + 1, colonne).Address, Cells(ligne + 4, colonne).Address).Value

Il faudra donc la modifier pour inclure le format

Une manière pour moi de vous accompagner et de pas complètement vous laisser tomber

Si vous avez besoin sur ce que j’ai mis en place n’hésitez pas

1 « J'aime »

il faut mettre à zéros tous les compteurs au début de chaque mois ??? Parce que « EQ_EC » est nouveau en mars et il/elle est séléctionné tout les jours à cause de cela !
En colonne AM:AN, les compteurs (partie integer)
SV_QUOTAS_TAV.xlsm (35,2 Ko)

Bonjour à tous,
@Jacquinot_WILL-FREAD, @FFO, @Cow18,

Merci pour vos apports. J’ai essayé de comprendre vos codes mais les fonctions me sont totalement inconnues et j’en suis bien incapable :joy:.

J’ai pu transposer la proposition de Cow18 dans mon fichier de travail. Cela fonctionne mais je dois passer par une feuille complémentaire (en copier-coller ‹ valeurs › car ma feuille de synthèse initiale est composée de formules (car reportées d’autres feuilles avec des formules FILTRE).

Pour ce qui concerne la mise à 0 chaque mois, elle ne me paraît pas primordiale. L’apparition d’une nouvelle équipe n’est pas une chose normale. Il s’agit ici d’une erreur dans la préparation du fichier envoyé. Pour le reste, les quotas ne varient pas des masses entre équipes de mois en mois.

A l’utilisation, me vient donc trois questions:

  1. Est-il possible de faire fonctionner le code sur ma feuille synoptique comportant les formules ?
  2. Ma demande initiale posait la demande qu’une équipe ne soit pas désignée plus d’une fois par jour. Serait-il difficile d’adapter le code pour supprimer cette consigne et ne désigner qu’en proportion du nombre de shift fourni ? J’aimerais pouvoir comparer les deux solutions pour évaluer ce qui resterait le plus équitable.
  3. Comme l’a souligné FFO, il convient aussi de rapatrier le formatage. J’ai essayé deux ou trois trucs suite recherche internet mais sans succès. comment pourrait-on donc adapter la formule ?
Sheets(donnéetraitée).Range("E7", "E10").Value = Workbooks("SV_QUOTAS_TAV.xlsm").Sheets("RECAP SHIFT PERM").Range(Cells(ligne + 1, colonne).Address, Cells(ligne + 4, colonne).Address).Value

Votre aide m’est très précieuse et je vous remercie encore pour votre temps et votre compréhension :trophy:.
Belle journée.

Bonjour

Pour la partie qui me concerne remplaces cette ligne dans la macro « Récupération_Shift_Perm » du fichier « Template Perm.xlsm » :

Sheets(donnéetraitée).Range("E7", "E10").Value = Workbooks("SV_QUOTAS_TAV.xlsm").Sheets("RECAP SHIFT PERM").Range(Cells(ligne + 1, colonne).Address, Cells(ligne + 4, colonne).Address).Value

Par celles-ci :

Workbooks("SV_QUOTAS_TAV.xlsm").Sheets("RECAP SHIFT PERM").Range(Cells(ligne + 1, colonne).Address, Cells(ligne + 4, colonne).Address).Copy Sheets(donnéetraitée).Range("E7")
Application.CutCopyMode = False

Ainsi tu récupères dans ce fichier les valeurs et tout le format des cellules quadrillage compris

En espérant que cela le fasse

FFO,
Cela le fait même parfaitement. :wink:
:pray:

Merci pour ce retour
Attention cette nouvelle ligne de code ramène l’intégralité de la cellule valeur/format integral/formule si il y en a
Je laisse pour le reste les intervenants qui en sont à l’origine le soin de te répondre

Ce sera là ma petite contribution

Je reste disponible si besoin pour mes réalisations déjà en place

1 « J'aime »

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.