Gestion du personnel

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'425
Appréciations reçues : 497
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 7 mai 2016, 04:41

Bonjour,

Je pense que la façon la plus simple serait de gérer des couples [ établissements x matière ], sachant qu'un intervenant peut ou pas intervenir sur une matière dans un établissement et pas dans un autre !

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
m
mipec
Membre habitué
Membre habitué
Messages : 111
Inscrit le : 29 mai 2015
Version d'Excel : 2010

Message par mipec » 7 mai 2016, 12:27

Steelson a écrit :Bonjour,

Je pense que la façon la plus simple serait de gérer des couples [ établissements x matière ], sachant qu'un intervenant peut ou pas intervenir sur une matière dans un établissement et pas dans un autre !
Bonjour
Je ne comprends pas ce que tu veux dire..?
le principe qui est appliqué a la gestion des absences est très bien , je souhaite juste l'utiliser en sens inverse pour rendre dispo ou pas des intervenants dans le menu déroulant des affectations, qui doit rester force de propositions...
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'425
Appréciations reçues : 497
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 8 mai 2016, 16:49

ok j'ai compris,
si rien n'est renseigné, est-ce que cela veut dire "tous les sites" ?

je m'y mets demain (je suis actuellement sur un gros projet pour moi, c'est pour cela que je ne réagis pas à la minute, mais je vais poursuivre ...)

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
m
mipec
Membre habitué
Membre habitué
Messages : 111
Inscrit le : 29 mai 2015
Version d'Excel : 2010

Message par mipec » 8 mai 2016, 20:49

Steelson a écrit :ok j'ai compris,
si rien n'est renseigné, est-ce que cela veut dire "tous les sites" ?

je m'y mets demain (je suis actuellement sur un gros projet pour moi, c'est pour cela que je ne réagis pas à la minute, mais je vais poursuivre ...)
Non justement il ne faut jamais que le menu déroulant d'affectation puisse me proposer la même personne sur deux sites à la fois,matin à La Défense(AMD)et matin à Boulogne (AMB), mais effectivement une fusion des onglets site et indisponibilité qui pourrait s'appeler "planning prévisionnel" avec userform pour sélectionner présences ou absences ,est peut être interessante, ou le collaborateur est disponible pour un site donc présent, où il est absent avec un libellé (malade , congé...) :)
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'425
Appréciations reçues : 497
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 10 mai 2016, 07:06

A tester,
je n'ai pas pu fusionner les critères indisponibilité et site

Il faut donc impérativement mentionner le site d'affectation pour chaque jour !
sites.xlsm
(108.31 Kio) Téléchargé 28 fois

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
m
mipec
Membre habitué
Membre habitué
Messages : 111
Inscrit le : 29 mai 2015
Version d'Excel : 2010

Message par mipec » 10 mai 2016, 10:58

Bonjour steelson

Je viens rapidement de faire un test, ca a l'air ok,Une fois de plus un grand merci à toi pour cette évolution |k)
m
mipec
Membre habitué
Membre habitué
Messages : 111
Inscrit le : 29 mai 2015
Version d'Excel : 2010

Message par mipec » 11 mai 2016, 01:32

juste un petit truc ,si je veux changer le non de l'onglet SITE et le nom du menu déroulant qu'est que je dois modifier,je l'ai fais mais j'ai une erreur?
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'425
Appréciations reçues : 497
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 11 mai 2016, 04:05

Bonjour,

va dans les macros (Alt+F11), clix droit sur Feuille AideAffectation> Code, et change ceci : Sheets("Sites")
Private Sub UserForm_Activate()
    
    Dim Dispo As Range, SurSite As Range, CelV As Range, CelH As Range
    Dim i%, qui$, ici$, equipe%, JourDebut As Long, JourFin As Long, numJour%

    Me.emploi.Caption = Cells(ligne, 1) & " - du " & Cells(1, colonne) & IIf(nbJours > 1, " au " & Cells(1, colonne + nbJours - 1), "")
    Me.equipier.AddItem ("") ' pour pouvoir effacer
    
    For i = 2 To Sheets("Competences").[A65000].End(xlUp).Row
        qui = Sheets("Competences").Cells(i, 1)
        equipe = Sheets("Competences").Cells(i, 2)
        JourDebut = Cells(1, colonne)
        ici = Split(Cells(ligne, 1), " ")(1)
        JourFin = Cells(1, colonne + nbJours - 1)
        numJour = Sheets("Calendrier").[A2].Offset(JourDebut - Sheets("Calendrier").[A2], equipe + 2)
        Set CelV = Range(Cells(1, colonne), Cells([A65000].End(xlUp).Row, colonne + nbJours - 1))
        Set CelH = Range(Cells(ligne, Application.max(2, colonne - numJour + 1)), Cells(ligne, colonne - numJour + 6))
        Set Dispo = Range(Sheets("Indisponibilites").Cells(i, JourDebut - Sheets("Indisponibilites").[B1] + 2), Sheets("Indisponibilites").Cells(i, JourFin - Sheets("Indisponibilites").[B1] + 2))
        Set SurSite = Range(Sheets("Sites").Cells(i, JourDebut - Sheets("Sites").[B1] + 2), Sheets("Sites").Cells(i, JourFin - Sheets("Sites").[B1] + 2))
        If (WorksheetFunction.CountIf(CelV, qui) - WorksheetFunction.CountIf(Selection, qui)) = 0 _
            And WorksheetFunction.CountBlank(Dispo) = nbJours _
            And WorksheetFunction.CountIf(SurSite, "<>" & ici) = 0 _
            And Not Repos(equipe) _
            And WorksheetFunction.CountIf(CelH, qui) + nbJours <= Len(Sheets("Competences").Cells(i, ligne - 2)) _
            Then Me.equipier.AddItem (qui)
    Next i
    
    If Me.equipier.ListCount = 1 Then
        Me.equipier.Clear
        Me.Hide
        MsgBox "Pas de possibilité !"
    End If

End Sub

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
m
mipec
Membre habitué
Membre habitué
Messages : 111
Inscrit le : 29 mai 2015
Version d'Excel : 2010

Message par mipec » 12 mai 2016, 00:23

bonjour

je te remercie ca déconne encore,j'ai changé pas mal de denominations... je vais essayer de m'en sortir...
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'425
Appréciations reçues : 497
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 12 mai 2016, 02:15

Ce que je peux faire, c'st rendre le code indépendant des noms d'onglet.

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message