Case ou bouton pour définir le nombre de personne sur un poste

munkycool

XLDnaute Junior
Bonjour,

je reviens vers vous pour mon planning de gestion d'équipe. J'ai de nouvelles demandes de la part des responsables et que je n'ai pu résoudre.

- Le tirage aléatoire mis en place ne leur convient pas. Il leur faut une personne différente a chaque poste tous les jours mais qu'elle ne soit pas reprise le lendemain a ce même poste.
En sachant qu'il y'a une personne par mail tous les jours, 3 personnes aux téléphones du matin, 3 personnes d'après midi et une dernière personne qui fait autre chose. Donc il y'a un total de 8 personnes mais qui pourra s'étendre ensuite à un nombre de 20 personnes maximum.

- Dans ma fonction matricielle, dans l'onglet "Planning_Gest_Septembre", j'ai fait des modifications pour prendre en compte le nombre de 20 employées.Par contre cela ne se répercute pas dans mon onglet Planning Téléphone qui reste à 11 personnes. Je ne vois pas ou modifier cela malheureusement.

- est-il possible dans mon premier onglet "Planning Téléphone" d'insérer un bouton qui gère le nombre total de personne à inclure dans ce planning (par exemple pouvoir passer de 8 à 20 en un seul clic) ?

Merci par avance pour votre aide

Cdt
 

Pièces jointes

  • TEST PLANNING (5).xlsm
    64.4 KB · Affichages: 117
  • TEST PLANNING (5).xlsm
    64.4 KB · Affichages: 124
  • TEST PLANNING (5).xlsm
    64.4 KB · Affichages: 119
Dernière édition:

job75

XLDnaute Barbatruc
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Re,

Pour la dernière question du post #1, si j'ai bien compris, avec un double-clic n'importe où :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'---pour masquer/afficher les lignes non colorées---
Dim cel As Range, deb&, fin&
Cancel = True
Application.Calculation = xlCalculationManual
For Each cel In Intersect([A:A], Me.UsedRange.EntireRow)
  If cel.Interior.Color = [L3].Interior.Color Then deb = cel.Row + 1
  If cel.Interior.ColorIndex = xlNone And _
    cel.Borders(xlEdgeBottom).LineStyle <> xlNone Then fin = cel.Row
  If deb And fin >= deb Then
    Rows(deb & ":" & fin).Hidden = Not Rows(fin).Hidden
    deb = 0
  End If
Next
Application.Calculation = xlCalculationAutomatic
End Sub
Il faut que la dernière ligne du (des) tableau(x) ait une bordure inférieure.

Fichiers (3).

A+
 

Pièces jointes

  • Rotations(3).xlsm
    67.7 KB · Affichages: 66
  • Rotations(3).xls
    137.5 KB · Affichages: 52
Dernière édition:

munkycool

XLDnaute Junior
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

En regardant les fichiers (en particulier Rotation1) je vois que la fonction pour refaire un tirage sur un jour n'y est plus et je comprend pourquoi.

Mais lorsque une personne est absente au dernier moment est-il possible de refaire le planning de la journée en prenant en compte la même contrainte ?

Merci pour votre réponse :)
 

job75

XLDnaute Barbatruc
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Bonjour munkycool,

Si la colonne source d'une journée est modifiée, il suffit de cliquer sur le bouton :

- les journées antérieures ne seront pas modifiées

- bien sûr la journée et les jours suivants seront modifiés.

Mais je voudrais souligner un point.

Regardez les noms "a" et "t" : ils ne sont pas logés à la même enseigne puisque "a" est pris 9 fois (parmi les 8) alors que "t" est pris 6 fois.

Ceci est dû à au fait que les colonnes du tableau source sont classées alphabétiquement.

Je vais étudier une solution pour faire un tri aléatoire sur les colonnes sources.

A+
 

munkycool

XLDnaute Junior
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Ok pour la journée modifiée.

Je n'avais pas remarqué le fait que a etait plus souvent pris que t.

Par contre est-ce que cela fera la même chose avec les noms qui ne seront pas spécialement gérer par ordre alphabétique ?
 

job75

XLDnaute Barbatruc
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Re,

Voici donc des rotations (non aléatoires) avec tri aléatoire des listes.

J'ai remis le double-clic sur les dates pour pouvoir modifier une journée (et les suivantes).

A+
 

Pièces jointes

  • Rotations avec tri aléatoire(1).xlsm
    70.5 KB · Affichages: 50
  • Rotations avec tri aléatoire(1).xlsm
    70.5 KB · Affichages: 42
  • Rotations avec tri aléatoire(1).xls
    129.5 KB · Affichages: 47
  • Rotations avec tri aléatoire(1).xlsm
    70.5 KB · Affichages: 50

job75

XLDnaute Barbatruc
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Re,

Sur la plage A6:T13 la fréquence d'apparition des différents noms varie (en général) de 7 à 9.

L'écart est donc (un peu) réduit avec le tri aléatoire.

A+
 

Makina

XLDnaute Junior
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Bonjour à vous,

Après lecture de se post (et de sa première partie) j'ai trouvé des similitudes evec une problématique que je rencontre. Je joint un fichier qui sera sans doutes plus explicite que mes explications

J'ai une liste de 8 auditeurs (2nd onglet), seulement cette liste peut évoluer +/- !
J'ai un planning (1st onglet) pour l'année 2013.

Ma problèmatique : j'aimerais que les colonnes de couleurs (F et G) de mon tableau se remplissent automatiquement en inscrivant "aleatoirement" les nom des auditeurs. Je dis "aleatoirement" car :
- il ne doit pas y avoir le meme auditeur en colonne F et G sur une meme ligne (il s agit d un auditeur et un accompagateur, ca ne peut donc pas etre le meme)
-pour la majorité des semaines il y a 8 SMAT a effectuer (j ai 8 auditeurs, parfait!) mais certain mois il y en a 9 ou 10 ! il faut donc reprendre 2 auditeur qui ont deja été inscrit, ainsi que 2 accompagnateurs MAIS il ne faut pas que se soit les meme qui soit choissis 2 fois les mois à 5 mardi ou jeudi !
-inversement à la conditions d avant, si mon nombre d auditeurs évolue (passe de 8 à 10) je ne veux pas que se soit toujours les meme qui soit libre durant le mois !

Job75, j ai repris le fichier que tu as créé sans changer les macros, du coup rien ne va! j ai juste réorganisé graphiquement pour montrer un peu mieux ce que je recherche ! Je n ai pas besoin de controler ou agir en fonction des absents ! je changerai directement ma liste d auditeurs en supprimant ou rajoutant des noms. Je n ai pas compris le fonctionnement du tableau dans le second onglet alors j ai laissé !

Merci Job75 par avance si tu peux m aider pour mon fichier ! ou a tout autre personne bien évidement !
 

Pièces jointes

  • Planing2013.xlsm
    59.8 KB · Affichages: 55

munkycool

XLDnaute Junior
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Re-Bonjour Job75,

je viens de faire des test en rajoutant une feuille (Novembre) et là j'ai un message d'erreur lorsque je créé la partie Novembre 2012 dans la feuille "Planning Téléphone" : Incompatibilité de Type en en cliquant sur le bouton Novembre 2012 rotation.
J'ail bien définit ma plage de nom pour le bouton...

J'ai également un souci pour changer le nom du bouton Masquer de Novembre 2012

Merci par avance de votre réponse et bon week-end :)
 

Pièces jointes

  • Rotations avec tri aléatoire(1).xlsm
    97.5 KB · Affichages: 44
  • Rotations avec tri aléatoire(1).xlsm
    97.5 KB · Affichages: 41
  • Rotations avec tri aléatoire(1).xlsm
    97.5 KB · Affichages: 38

job75

XLDnaute Barbatruc
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Bonjour munkycool, le fil, le forum,

Je ne me penche pas pour l'instant sur votre fichier, vous avez dû mal le construire.

Pour régler ce problème des écarts entre les apparitions, j'ai modifié la fonction ChercheNom.

En effet il faut faire un traitement spécial quand des noms ont la même ancienneté.

On prend alors le nom qui a eu le moins d'apparitions dans la zone colorée.

De plus voyez les colonnes V et W qui donnent les fréquences d'apparition.

Il suffit de cliquer sur le bouton jusqu'à ce que les fréquences conviennent (soient égales).

Fichier (2).

A+
 

Pièces jointes

  • Rotations avec tri aléatoire(2).xlsm
    69.9 KB · Affichages: 50
  • Rotations avec tri aléatoire(2).xls
    148.5 KB · Affichages: 41
Dernière édition:

job75

XLDnaute Barbatruc
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Re munkycool,

Concernant votre fichier du post #24 il est en effet mal construit.

1) Dans Planning_Gest_Novembre entrez en A1 la bonne date 01/11/2012

2) Dans Planning Mail-Téléphone :

- en A29 (derrière le bouton) entrez le texte NOVEMBRE 2012

- en ligne 32 tirez les dates de novembre (et supprimez les week-ends).

Concernant les boutons "Masquer", il exécutent la même macro qui masque/affiche les lignes de TOUS les tableaux.

Je vais voir comment remplacer "Masquer" par "Afficher" et vice-versa.

A+
 

job75

XLDnaute Barbatruc
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Re,

1) J'ai refait vos 2 feuilles de mois car vos MFC (week-ends) n'étaient pas correctes (manquait un signe $).

Nota 1 : l'égalité des fréquences est possible pour septembre, mais impossible pour novembre car le nombre de cellules colorées (176) n'est pas divisible par le nombre de noms (20). Il faut juste éliminer la fréquence 10 et n'avoir que 9 et 8.

2) J'ai modifié la macro Masquer pour permuter les textes des boutons :

Code:
Sub Masquer()
'---pour masquer/afficher les lignes non colorées---
Dim cel As Range, deb&, fin&, flag As Boolean, s As Shape
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each cel In Intersect([A:A], Me.UsedRange.EntireRow)
  If cel.Interior.Color = [L3].Interior.Color Then deb = cel.Row + 1
  If cel.Interior.ColorIndex = xlNone And _
    cel.Borders(xlEdgeBottom).LineStyle <> xlNone Then fin = cel.Row
  If deb And fin >= deb Then
    Rows(deb & ":" & fin).Hidden = Not Rows(fin).Hidden
    deb = 0
    If Not flag Then
      flag = True
      For Each s In ActiveSheet.Shapes
        With s.TextFrame.Characters
          If .Text = "Masquer" Or .Text = "Afficher" Then _
            .Text = IIf(Rows(fin).Hidden, "Afficher", "Masquer")
        End With
      Next
    End If
  End If
Next
Application.Calculation = xlCalculationAutomatic
End Sub
Nota 2 : j'avais oublié Application.Calculation = xlCalculationAutomatic dans les versions (1) et (2) précédentes.

Nota 3 : on pourrait se passer des boutons en lançant la macro Masquer par un raccourci clavier...

Fichiers (3).

A+
 

Pièces jointes

  • Rotations avec tri aléatoire(3).xlsm
    105.1 KB · Affichages: 41
  • Rotations avec tri aléatoire(3).xls
    207.5 KB · Affichages: 59

munkycool

XLDnaute Junior
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Bonjour Job75 et le forum.

Merci pour votre travail assez impressionnant et même le week-end.
Pour les MFC effectivement j'étais obligé de les refaire dès que je changeais de date.

Vos transformations me semblent excellentes mais je ne peux vérifier ce matin.

Cdt
 

munkycool

XLDnaute Junior
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Bonjour le Forum et Job75,

J'ai fait plusieurs tests et cela me convient très bien et également à mes responsables.

Merci encore pour votre aide Job75 :)

Je joins mon fichier final pour ceux qui sont intéressés

A bientôt :)
 

Pièces jointes

  • TEST PLANNING (5).xlsm
    93.7 KB · Affichages: 51
  • TEST PLANNING (5).xlsm
    93.7 KB · Affichages: 55
  • TEST PLANNING (5).xlsm
    93.7 KB · Affichages: 55

munkycool

XLDnaute Junior
Re : Rotation Equipe non aléatoire + bouton gestion nombre de personne

Bonjour le forum,

Je n'en finirais jamais avec ce fichier...
Est-il possible dans l'onglet 1 du fichier ci-dessus de définir avec une case à remplir ou autre le nombre de personne par mail, Tel AM, Tel PM ou autre.

En gros que cela soit modifiable par un simple utilisateur et non en allant trifouiller le code

Merci par avance pour votre réponse :)

Cdt
 

Discussions similaires