Microsoft 365 planning pour gestion d'horaire modif

smahancharif

XLDnaute Junior
bonjour je suis nouvelle ici et je souhaiterai créer un planning où les 47 employés pourrait intégrer leurs horaires il y 4 types d'horaires et 3 tupes de pauses.

merci
 
Solution
bonsoir le fil, salutations à etoto et à chti160
re smahancharif

j'ai pris en compte votre demande, (ce qui m'a amené à modifier beaucoup de macro) tout en développant une solution basée sur le fil 143, Classeur perpétuel avec sauvegarde automatique une fois par semaine. (si vous ne souhaitez pas de sauvegarde vous pouvez la neutraliser, en cellule X2 de la feuille Configuration)

J'ai supposé que vous ne travaillez pas les jours fériés, j'ai donc adopté une solution ou les jours fériés sont neutralisé dans le formulaire. (faites un essai avec la semaine 21, 44, 45 de l'année 2022)

exemple : si vous travaillez le lundi de pentecôte, supprimez la date de la feuille configuration

Dans ce classeur, l'année à l'ouverture correspond à la...

smahancharif

XLDnaute Junior
et il y a aussi un problème avec l'horaire du lun au jeu: j'ai pas mes 8h?
oucou non ca ira c'est super gentil. par contre peux-tu m'expliquer a quoi ser la colonne A et pourquoi au niveau des semaines colonne c il a y 1 horaire sem37 et 40? merci
Regarde la pièce jointe 1115126

Citer
@GALOUGALOU excuse-moi j'ai bien mes 8h mais c'est la Casa AM qui m'a induite en erreur... d'ailleurs pourquoi il y est indique 3h30? merci encore pour tout
 

GALOUGALOU

XLDnaute Accro
re
après choix des combobox sur la prise de service et la pause, c'est la durée de travail restant pour l'après midi pour respecter la durée hebdomadaire de 8h00
petite précision l'opérateur ne doit pas oublier de faire le choix du numéro de semaine
cdt
 

GALOUGALOU

XLDnaute Accro
re etoto
allez je te sollicite pour un essai
pourrais-tu modifier la macro evenenent feuille de la feuille base et me faire retour de ton experience
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
If Sheets("Base").Visible = True Then
On Error Resume Next
   Range("A3:L10000").Select

    ActiveWorkbook.Worksheets("Base").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Base").Sort.SortFields.Add2 Key:=Range("C3:C10000") _
        , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Base").Sort
        .SetRange Range("A3:L10000")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
      Range("A9500:L10000").Select
    Selection.ClearContents
     Range("A3").Select
     End If
    Application.ScreenUpdating = True
End Sub
cdt
 

Etoto

XLDnaute Barbatruc
re etoto
allez je te sollicite pour un essai
pourrais-tu modifier la macro evenenent feuille de la feuille base et me faire retour de ton experience
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
If Sheets("Base").Visible = True Then
On Error Resume Next
   Range("A3:L10000").Select

    ActiveWorkbook.Worksheets("Base").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Base").Sort.SortFields.Add2 Key:=Range("C3:C10000") _
        , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Base").Sort
        .SetRange Range("A3:L10000")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
      Range("A9500:L10000").Select
    Selection.ClearContents
     Range("A3").Select
     End If
    Application.ScreenUpdating = True
End Sub
cdt
Hello,

J'ai testé ton code et il est fonctionnel, je n'ai pas eu l'erreur qui est apparue. Merci !
 

GALOUGALOU

XLDnaute Accro
re smahancharif
suite au retour d'expérience de Etoto, il faut modifier la macro évenement feuille de la feuille base

-vous ouvrez le classeur en admin
-dans ce fil, vous copier le code du fil 39
-clic droit sur la feuille base, en bas sur le nom de l'onglet
-visualiser le code
-supprimer le code visible et coller le nouveau code

-enregistrer votre classeur
cdt
galougalou
 

smahancharif

XLDnaute Junior
re smahancharif

il suffit de cliquer sur la petite flèche pour voir tous les horaires. Si d'aventure il manque une information, il faut corriger la feuille configuration colonne M et N

utile a la macro. en cas de modification sur une saisie valide, cela permet d'identifier la bonne ligne.

Il faut prendre du recul. C'est un classeur de test avec des informations inutiles (mais utile aux test)
toutes ces informations sont a supprimés. au bout de plusieurs semaine cette feuille sera remplie par des centaines d'informations. (voir les messages précédent)(pour les opérateurs il n'est pas utile de consulter la feuille Base, cette feuille ne sert qu'à stocker l'ensemble des informations saisies par les collaborateurs
cdt
galougalou
merci! autre petite modification: est-ce que l'on pourrait faire le même planning mais en laissant la possibilité de choisir la pause de midi en fonction du jour et non pas le figer pour le lundi au jeudi?
merci
 

Discussions similaires