IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Répartition de tâches sur un planning


Sujet :

Macros et VBA Excel

  1. #21
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien de Laboratoire
    Inscrit en
    mai 2019
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien de Laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : mai 2019
    Messages : 43
    Points : 1
    Points
    1
    Par défaut
    Tout cela marche très bien à partir d'un ordinateur Windows.
    Un grand merci.

    Puis je vous demander s'il serait possible (à partir de l'exemple en PJ) :
    - qu'une fois le quota atteint par nom, nous ne puissions pas affecter ce poste => AF5 sur totaux à 5 alors que maximum 2/semaine.
    - qu'une fois le quota par poste/jour est atteint, que nous ne puissions pas affecter ce poste => W4 sur totaux alors que maximum 4 par jour.

    Merci d'avance,
    Cordialement
    Fichiers attachés Fichiers attachés

  2. #22
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    1 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 1 804
    Points : 2 976
    Points
    2 976
    Par défaut
    Bonjour,

    En attaché une nouvelle version qui fait à peu près cela: les postes qui ont atteint le maximum ne sont plus affichés dans le petit formulaire listant les postes admissibles pour l'horaire mentionné ... mais cela sans empêcher de les ajouter manuellement.

    Cordialement.
    Fichiers attachés Fichiers attachés

  3. #23
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien de Laboratoire
    Inscrit en
    mai 2019
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien de Laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : mai 2019
    Messages : 43
    Points : 1
    Points
    1
    Par défaut
    Une énième fois, je vous remercie pour tout le travail réalisé sur ma problématique.
    Ça me donnerait même envie d'apprendre à coder le BVA car je me rends compte que mes inspirations sont profondes mais mes connaissances très limitées. Du coup, obligé de faire appel au forum.

    Pensez vous que toute la partie inscrire des postes puisse être automatisée de telle sorte qu'ils s'incrémentent automatiquement en tenant compte des quota poste/jour et poste/nom/semaine.

    Une fois, sur une discussion de ce même forum, j'ai été aidé par @Arturo83 pour un planning aléatoire (un peu moins complexe). Il avait utilisé un code comme en PJ.
    Serait il possible d'adapter au nouveau planning (ou équivalence ?)

    MERCI
    Images attachées Images attachées  

  4. #24
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    1 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 1 804
    Points : 2 976
    Points
    2 976
    Par défaut
    Désolé, mais je ne vois pas ce que vous demandez.
    Par ailleurs, pour quoi faire aléatoirement et pas systématiquement, chacun ayant son tour avec régularité.
    Cordialement.

  5. #25
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien de Laboratoire
    Inscrit en
    mai 2019
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien de Laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : mai 2019
    Messages : 43
    Points : 1
    Points
    1
    Par défaut
    Alors je me suis mal exprimé : l'idée est que les postes puissent être positionnés automatiquement aux salariés en tenant compte des quotas. Le tour systématique avec régularité serait top mais les salariés change d'horaire toutes les semaines (quand ce n'est pas sur la même semaine), ce qui complexifie le système. L'aléatoire, ça ne va pas finalement car l'idéal serait que l'équité domine pour les salariés sur une même plage horaire (exemple, qu'ils fassent tous 2 fois un poste, 1 fois un autre poste, 1 fois un autre poste, etc...). Mais je pense que l'équité ne pourra pas être réalisée à 100%, c'est juste tendre vers ...
    Pour résumer, je voulais savoir s'il était possible de rendre automatique la tâche de sélection des postes via le formulaire en tenant compte des quotas max. Tout est ficelé via les macro déjà en place, il manquerait juste une possibilité d'automatiser. MERCI

  6. #26
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    avril 2002
    Messages
    3 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 3 621
    Points : 8 086
    Points
    8 086
    Par défaut
    Salut

    J'ai regardé le code par curiosité

    Si je peux me permettre 3 propositions de modification qui peuvent avoir un impact sur la fiabilité lors de l'utilisation.

    Lu dans le fichier
    '--- NE PAS CHANGER LES NOMS DES FEUILLES ET TABLEAUX
    '--- ces noms sont appelés dans les macros
    Pour éviter ce style de problème, il est possible d'utiliser le codename des feuilles. Si l'utilisateur souhaite ou modifie par mégarde le nom des feuilles, cela n'impacte pas l'exécution du code.
    A l'instar du nom de la feuille, le codename est personnailisable.
    Nom : 2015-01-18_134906.png
Affichages : 77
Taille : 14,2 Ko

    Afin d'avoir un rendu visuel sans visualiser tous les changements les uns à la suite des autres, il est possible d'utiliser les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Application.ScreenUpdating = false
    '... code qui modifie l'apparence des feuilles
    Application.ScreenUpdating = true 'Facultatif car il est rétabli en fin de procédure.
    Si l'utilisateur change de feuille ou de fichier durant l'exécution de la macro, le code fera des modification sur la nouvelle feuille active. Pour éviter ce genre d'aléas, il est préférable de toujours préciser le classeur et la feuille sur laquelle on travaille.
    Ainsi si ce type de ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A7:S8").Copy wsReport.Range("A7")
    Range fait appel à la feuille active du classeur Actif, une structure With permettrait de préciser le classeur et la feuille où le code doit être exécuté. De ce fait, aucun soucis en cas de changement de classeur/onglet actif.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  7. #27
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    1 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 1 804
    Points : 2 976
    Points
    2 976
    Par défaut
    Bonjour,

    Effectivement, il est toujours possible d'améliorer le code.

    Pour ce qui est de faire un remplissage automatisé, il y a un problème: le nombre de postes mentionnés (colonne S de la feuille Totaux) est de 25 ... mais il n'y a que 4 jours (sur les 9) où le nombre de personnes mentionnées actives au planning dépasse 25 (voir feuille "En activité", ligne 54) ... et je suppose que samedi et dimanche il en sera d'ailleurs toujours ainsi.

    Cordialement.
    Fichiers attachés Fichiers attachés

  8. #28
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien de Laboratoire
    Inscrit en
    mai 2019
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien de Laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : mai 2019
    Messages : 43
    Points : 1
    Points
    1
    Par défaut
    En feuille Quota, les totaux révisés par jour de la semaine.
    Si pas de poste alors par défaut PROD.
    Pour dimanche, essayons sans aucun poste, ou par défaut PROD.

    MERCI
    Cordialement.
    Fichiers attachés Fichiers attachés

  9. #29
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    1 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 1 804
    Points : 2 976
    Points
    2 976
    Par défaut
    Bonjour,
    Je ne vois aucun changement entre la feuille Totaux et la feuille Quotas. Pourriez vous reprendre cela dans la feuille annexée.
    Cordialement.
    Fichiers attachés Fichiers attachés

  10. #30
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien de Laboratoire
    Inscrit en
    mai 2019
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien de Laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : mai 2019
    Messages : 43
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    En attaché, classeur à jour.
    La feuille quota était celle qu'il vous manquait... je ne sais pas pourquoi le fichier n'avait pas été enregistré bref !
    la feuille quotasEric, avec votre mise en forme.

    Merci d'avance,
    Cordialement.
    Fichiers attachés Fichiers attachés

  11. #31
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    1 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 1 804
    Points : 2 976
    Points
    2 976
    Par défaut
    Bonjour,

    En pratique, la comptabilisation des postes est encore à préciser. En effet les agents ont tantôt une pose de midi, tantôt non. Du coup, s'ils n'ont pas de pose de midi, le poste peut compter pour 8 heures (exemples: NOM28 et NOM29 ci-dessous en fin de semaine), alors que quand il y a pose de midi, un poste ne compte que pour 4 heures ... et l'on va compter qu'ils en ont fait 2 fois plus souvent (exemples: NOM26 et NOM27).

    Cordialement.
    Nom : PostesMemeJour-.png
Affichages : 56
Taille : 21,2 Ko

  12. #32
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien de Laboratoire
    Inscrit en
    mai 2019
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien de Laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : mai 2019
    Messages : 43
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Effectivement les horaires dans ce service sont assez complexes :
    En semaine, du lundi au vendredi, nous avons des horaires continus et des horaires non continus (avec une pause de midi).
    Le samedi et le dimanche, ces horaires non continus deviennent continus.

    Pour simplifier les quotas, j'ai, sur la feuille "quota", stipuler en noir les horaires qui doivent être supprimés pour aucune affectation de poste. Par la suite, je verrai comment je m'arrange.
    Normalement, pour les horaires non continus, les salariés auront un poste pour le matin, un deuxième pour l'après-midi.
    Je ne pense pas qu'il faille raisonner par nombre d'heure de la journée mais plutôt par "tranche horaire".

    Ex : pour les tranches roses, il me faut 2 CAD puis ensuite 2 CPA puis 4 réception puis 2 APH puis 1 CGR...
    Pour les tranches bleues, il me faut 1 CGR puis 1 EXP puis 1 UCP puis 3 MCP ...
    Pour les tranches jaunes, il me faut 4 CGR puis 1 MCP puis 1 EXP puis 2 TRI PL ...
    Tous les salariés sans poste sur la journée = PROD

    Sur la feuille activité revu, j'ai révisé les conditionnelles qui n'étaient pas juste sur la feuille "en activité). Ex : E7, E9:H9, E52, H52,E35,F35,H35, D33:F33,H33, etc... Normalement tous les horaires sont avec leurs bonnes conditionnelles sur le tableau de la feuille "Report".

    Merci d'avance,
    Cordialement.
    Fichiers attachés Fichiers attachés

  13. #33
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    1 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 1 804
    Points : 2 976
    Points
    2 976
    Par défaut
    Bonjour,

    Pour progresser un peu, la macro QuandQui (bouton Qui) permet d'avoir une vue des personnes actives dans chaque tranche horaire. Il faudrait modifier/compléter la feuille Qui pour avoir la liste des postes à pourvoir chaque jour dans chaque tranche horaire, pour bien faire dans leur ordre de priorité car certains jours il ne sera pas possible de les satisfaire tous (à ce qu'il me semble).

    Cordialement.
    Fichiers attachés Fichiers attachés

  14. #34
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien de Laboratoire
    Inscrit en
    mai 2019
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien de Laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : mai 2019
    Messages : 43
    Points : 1
    Points
    1
    Par défaut
    Bonjour Eric,

    Le mardi, j'ai supprimé les 2 CAD : de ce fait sur la feuille "Qui revu Vincent", nous gagnons 2 postes supplémentaires qui incrémentent les 2 poste APH manquants sur les horaires de la tranche rose.
    Du mardi au vendredi, je supprime également le poste de CGRa sur la tranche rose car ce n'est plus nécessaire : ce qui justifie aucune attribution de CGRa sur la feuille "Qui revu Vincent"
    En ce qui concerne la ventilation des postes par tranche, elle est faussait par les mises en forme conditionnelles manquantes sur la feuille REPORT. Sur la feuille REPORT du BDD MACRO 3v2 que j'ai envoyé sur le forum, elle avaient été révisées.
    Je les ajoute donc au Report BDD macro 4.
    Si vous pouvez refaire la nouvelle ventilation en appuyant sur le bouton Qui, ca devrait mieux ventiler.
    Je pense notamment à tous les postes qui apparaissent après 16h00 au lieu de après 12h30. Voir "feuille Qui Revu Vincent" en rouge

    Par défaut, les autres postes doivent être PROD

    Merci d'avance,
    Cordialement.
    Fichiers attachés Fichiers attachés

  15. #35
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    1 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 1 804
    Points : 2 976
    Points
    2 976
    Par défaut
    Bonjour,

    Une nouvelle proposition ... incomplète encore, mais à évaluer avant de poursuivre!

    La feuille Qui reprend toutes les personnes ayant un horaire mentionné dans la feuille Report. A voir: les plages horaires sont-elles maintenant convenablement reprises (fait par la macro QuiQuand, appelée par le bouton Qui).

    Dans cette feuille Qui, le clic sur le bouton Loterie va appeler la macro Loterie qui va "tirer au sort" les postes de travail (par journée, par groupe horaire) et calculer quelles "pénalités" cette répartition entraine. Chaque fois qu'un agent répète plus souvent que prévu la même tâche au cours de la semaine, une pénalité est comptée. J'ai mis comme système de pénalité la factorielle (FACT()), du nombre de dépassement (1=>1, 2=>2, 3=>6, 4=>12, 5=>60, ...) et placé 24 tirages consécutifs, celui donnant le moins de pénalités étant finalement retenu. Le résultat n'est donc qu'exceptionnellement le meilleur possible, mais c'en est un relativement "convenable" et réellement "dû au hasard".

    Si cela pourrait convenir, reste à renvoyer les postes de travail de la feuille Qui dans la feuille Report.

    Le code n'est pas optimisé, mais aussi clair que possible. Pour 24 tirages au sort, il faut une minute sur mon pc, càd "une éternité"!

    Cordialement.
    Fichiers attachés Fichiers attachés

  16. #36
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien de Laboratoire
    Inscrit en
    mai 2019
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien de Laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : mai 2019
    Messages : 43
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci beaucoup pour cette macro qui commence à prendre une bonne forme.
    Sur la feuille Qui :
    - j’ai modifié N1 et Q1 car notifié mercredi alors qu’il s’agissait respectivement de jeudi et vendredi.
    - Lorsque j’appuie sur loterie, c’est bien plus rapide qu’une minute : je dirai max 15s

    Sur la feuille Report :
    - J’ai volontairement remplacé NOM003 par fred sur A12 et A13 et will sur A14 et A15
    On peut voir en feuille Qui que le report des prénoms est bien réalisé. Toutefois, en feuille TotQui, aucun report sur les colonnes G et H.
    Est-il possible d’automatiser la ligne1 pour obtenir les prénoms ?
    PS/ pour des raisons d’anonymysation, j’ai remplacé les noms et prénoms des salariés par des NOM… sur les fichiers sources (lors du chargement des données) mais en réalité, il faudra que nous puissions avoir les vrais noms et prénoms.

    Il y a encore des problème de mise en forme conditionnelle alors que je pensais avoir tout corriger sur le BDD MACRO 4.
    Est-il possible d’ajouter les mises en forme conditionnelles sous forme d’un code BVA intégré à la macro CopierCollerHeures ?

    Par exemple,
    Le 12H45-16H15 doit être un horaire jaune ainsi que 13H15-16H30 et le 13H15-16H15
    Dans la feuille Qui, le 12h15-16h15 apparait dans la tranche jaune au lieu de bleue

    Je remets la feuille Postes Vincent où j’avais révisé les quota du mardi ainsi que le CGRa. Sur la feuille Postes, j’ai l’impression que ce n’est pas modifié.

    Est ce qu'en pratique, il aurait été possible de réaliser des tirages jusqu'à épuisement des impondérables plutôt qu'un aléatoire ? Exemple, on tire les 2 CAD, puis les 2 CPA, puis les 4 RECEPT, puis les 2 APH, puis on termine avec la PROD pour tranche rose. Et ceci sans que cela se reproduise plus de tant de fois/semaine et par salarié ?

    Est il possible d’avoir le macro supplémentaire pour inscrire les postes sur Report ?


    MERCI POUR TOUTE VOTRE AIDE ET VOTRE TEMPS ACCORDE A CE PROJET…
    Fichiers attachés Fichiers attachés

  17. #37
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    1 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 1 804
    Points : 2 976
    Points
    2 976
    Par défaut
    Bonjour,

    J'ai ajouté la reprise du "meilleur résultat" dans la feuille Report (voir fin de la macro Loterie: FormulesPostesDansReport). Le tirage au sort se fait aussi un peu autrement en s'effectuant maintenant par bloc (matin, avant-midi, après-midi, soir) et plus par jour entier.

    Pour ce qui est du formatage des horaires, je ne l'ai pas changé. Voir note sur la feuille Totaux.

    Pour ce qui est de faire un tirage "jusqu'à épuisement des impondérables", je ne vois pas comment faire cela. Quelqu'un aura peut-être une (bonne) idée sur ce sujet.

    Cordialement.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Pb de Text. transp. sur un plan directx 9 c#
    Par EPSFranck dans le forum DirectX
    Réponses: 3
    Dernier message: 02/09/2006, 11h56
  2. Ombre sur un plan fixe
    Par damienlann dans le forum OpenGL
    Réponses: 4
    Dernier message: 30/05/2006, 15h14
  3. [Physique] Balle rebondissant sur un plan,problème de frames
    Par oxyde356 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 16/02/2006, 18h11
  4. [SQL2K] Pb sur un plan de maintenance
    Par yinyang dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/02/2006, 10h44
  5. Réponses: 3
    Dernier message: 29/06/2005, 14h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo