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...

GALOUGALOU

XLDnaute Accro
re smahancharif
Vous écrivez aujourd'hui et le hasard fait bien les choses, ce matin, je regardais la dernière version du classeur et j'ai constaté que la macro de la feuille Base n'était pas adapté à la dernière évolution du classeur, car la plage de tri correspond aux premières versions. Ce qui doit forcément créer des erreurs dans votre planning.
Si vous utilisez ce classeur dans cette version, il faudrait remplacer la macro de la feuille Base par celle ci.
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False

On Error Resume Next
lig2 = Cells(Rows.Count, 3).End(xlUp).Row
   Range("A3:AF" & lig2).Select

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

cordialement
et merci de votre message
galougalou
 

smahancharif

XLDnaute Junior
Bonjour,
tout d'abord meilleur vœux!

voilà le fichier va être mis en place, et je voudrais savoir s'il est possible de faire en sorte que plusieurs personnes puissent encoder en même temps; le rendre en multi-taches?

merci
 

Pièces jointes

  • Outil de présence.xlsm
    492.3 KB · Affichages: 2

smahancharif

XLDnaute Junior
re smahancharif
Vous écrivez aujourd'hui et le hasard fait bien les choses, ce matin, je regardais la dernière version du classeur et j'ai constaté que la macro de la feuille Base n'était pas adapté à la dernière évolution du classeur, car la plage de tri correspond aux premières versions. Ce qui doit forcément créer des erreurs dans votre planning.
Si vous utilisez ce classeur dans cette version, il faudrait remplacer la macro de la feuille Base par celle ci.
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False

On Error Resume Next
lig2 = Cells(Rows.Count, 3).End(xlUp).Row
   Range("A3:AF" & lig2).Select

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

cordialement
et merci de votre message
galougalou
Bonjour,
tout d'abord meilleur vœux!

voilà le fichier va être mis en place, et je voudrais savoir s'il est possible de faire en sorte que plusieurs personnes puissent encoder en même temps; le rendre en multi-taches?

merci
 

Pièces jointes

  • Outil de présence.xlsm
    492.3 KB · Affichages: 5

GALOUGALOU

XLDnaute Accro
re smahancharif, bonsoir le forum
A tous meilleur vœux pour 2022
voilà le fichier va être mis en place, et je voudrais savoir s'il est possible de faire en sorte que plusieurs personnes puissent encoder en même temps; le rendre en multi-taches?
Perso je ne sais pas, il vaudrait mieux qu'un spécialiste réseau vous apporte des réponses.
Pour être sur d'avoir des réponses, il vaudrait mieux ouvrir un autre fil avec un titre pertinent qui attire un maximum de spécialistes. Si d'aventure je devrais avoir une solution je vous la publierai sur ce fil.
cdt
galougalou
 

smahancharif

XLDnaute Junior
re smahancharif
Vous écrivez aujourd'hui et le hasard fait bien les choses, ce matin, je regardais la dernière version du classeur et j'ai constaté que la macro de la feuille Base n'était pas adapté à la dernière évolution du classeur, car la plage de tri correspond aux premières versions. Ce qui doit forcément créer des erreurs dans votre planning.
Si vous utilisez ce classeur dans cette version, il faudrait remplacer la macro de la feuille Base par celle ci.
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False

On Error Resume Next
lig2 = Cells(Rows.Count, 3).End(xlUp).Row
   Range("A3:AF" & lig2).Select

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

cordialement
et merci de votre message
galougalou
Bonjour,
Désolée de vous embêter mais je ne sais pas comment modifier les macro... pourriez vous m'aider je vous joins le fichier?
merci
 

Pièces jointes

  • Outil de présence.xlsm
    478.1 KB · Affichages: 4

smahancharif

XLDnaute Junior
re smahancharif
Vous écrivez aujourd'hui et le hasard fait bien les choses, ce matin, je regardais la dernière version du classeur et j'ai constaté que la macro de la feuille Base n'était pas adapté à la dernière évolution du classeur, car la plage de tri correspond aux premières versions. Ce qui doit forcément créer des erreurs dans votre planning.
Si vous utilisez ce classeur dans cette version, il faudrait remplacer la macro de la feuille Base par celle ci.
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False

On Error Resume Next
lig2 = Cells(Rows.Count, 3).End(xlUp).Row
   Range("A3:AF" & lig2).Select

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

cordialement
et merci de votre message
galougalou
bonjour,

autre chose, serait-il possible de ne pas indiquer l'horaire de fin automatiquement mais d'avoir une cellule où qui indiquerait le total d'heures? je m'explique certaine personne prestent à 4/5 ou à 9/10 et donc le fichier ne peut correspondre à leurs horaires?
merci
 

smahancharif

XLDnaute Junior
bonjour,

autre chose, serait-il possible de ne pas indiquer l'horaire de fin automatiquement mais d'avoir une cellule où qui indiquerait le total d'heures? je m'explique certaine personne prestent à 4/5 ou à 9/10 et donc le fichier ne peut correspondre à leurs horaires?
merci
 

GALOUGALOU

XLDnaute Accro
re
Votre demande implique de concevoir un autre fonctionnement du classeur.
J'ai pour l'instant réussi à gérer le lundi, mais il faut vérifiez que toutes les macros fonctionnent correctement. Il devrait rester environ encore 6 heures de travail pour la mise au point. Et à temps perdu cela va prendre du temps. Dans le meilleur des cas, demain peut-être.
En principe sur le forum, on vient chercher des pistes pour concevoir son projet et le mener par soi-même à son terme.

Comme je ne suis pas propriétaire du projet, si un autre membre du forum peut vous apporter une réponse, il ne manquera pas de le faire, mais souvent les intervenants ne modifie pas les codes qu'ils n'ont pas conçus.

en pièce jointe un essai avec uniquement le lundi à évaluer, mais attention ce n'est pas encore finalisé. tout reste à faire.
le principe, le collaborateur choisi l'horaire de sa fin de service et tous les calculs sont automatiques.
Mais je répète, le projet n'est pas encore finalisé.
cdt
galougalou
 

Pièces jointes

  • en essai Outil de présence - Copie.xlsm
    475 KB · Affichages: 7

smahancharif

XLDnaute Junior
re
Votre demande implique de concevoir un autre fonctionnement du classeur.
J'ai pour l'instant réussi à gérer le lundi, mais il faut vérifiez que toutes les macros fonctionnent correctement. Il devrait rester environ encore 6 heures de travail pour la mise au point. Et à temps perdu cela va prendre du temps. Dans le meilleur des cas, demain peut-être.
En principe sur le forum, on vient chercher des pistes pour concevoir son projet et le mener par soi-même à son terme.

Comme je ne suis pas propriétaire du projet, si un autre membre du forum peut vous apporter une réponse, il ne manquera pas de le faire, mais souvent les intervenants ne modifie pas les codes qu'ils n'ont pas conçus.

en pièce jointe un essai avec uniquement le lundi à évaluer, mais attention ce n'est pas encore finalisé. tout reste à faire.
le principe, le collaborateur choisi l'horaire de sa fin de service et tous les calculs sont automatiques.
Mais je répète, le projet n'est pas encore finalisé.
cdt
galougalou
merci vraiment!! demain ce sera fort bien. je me doute que c'est juste une aide mais comme je l'ai dit je n'ai jamais travaille sur Visual Basic... alors merci pour tout!!!!
 

smahancharif

XLDnaute Junior
re
Votre demande implique de concevoir un autre fonctionnement du classeur.
J'ai pour l'instant réussi à gérer le lundi, mais il faut vérifiez que toutes les macros fonctionnent correctement. Il devrait rester environ encore 6 heures de travail pour la mise au point. Et à temps perdu cela va prendre du temps. Dans le meilleur des cas, demain peut-être.
En principe sur le forum, on vient chercher des pistes pour concevoir son projet et le mener par soi-même à son terme.

Comme je ne suis pas propriétaire du projet, si un autre membre du forum peut vous apporter une réponse, il ne manquera pas de le faire, mais souvent les intervenants ne modifie pas les codes qu'ils n'ont pas conçus.

en pièce jointe un essai avec uniquement le lundi à évaluer, mais attention ce n'est pas encore finalisé. tout reste à faire.
le principe, le collaborateur choisi l'horaire de sa fin de service et tous les calculs sont automatiques.
Mais je répète, le projet n'est pas encore finalisé.
cdt
galougalou
Une petite question: serait-il possible qu'il encode manuellement leur heure de fin de service et que le calcul se fasse automatiquement; je m'explique certaines personnes devront prester 30h et 80 centièmes (48 min) ou 34h et 65 centième ( 39 min). en raison de leur réduction de temps de travail... si ce n'est pas possible ne vous inquiétez pas... je leur dirais de prendre celui qui correspond le mieux. merci
 

GALOUGALOU

XLDnaute Accro
re smahancharif
un essai qui devrait correspondre à votre attente, mais vu l'heure tardive je ne suis pas sur que tout le classeur soit ok. il me faudra du temps pour vérifier que les codes sont corrects. La réalisation à été trop rapide et je n'ai pas pu accorder toute l'attention nécessaire.
Vu les identifiants complexes je vous ai rajouté une combobox pour identifier les utilisateurs. La saisie sera facilitée.
j'ai modifié dans la feuille base le code.
pour la fin de service : les collaborateurs peuvent saisir à la minute près la fin de leur service, mais attention, il faudra par un clic ou par la touche entrée valider la saisie pour que les calculs soient effectifs.
dans le formulaire si une incohérence de saisie est faite, (ex une pause qui fini à 13h30 mais le service à 13h00) une alerte rouge apparaitra et empêchera de valider la saisie.
je vous donnerais un peu plus d'explication dans les prochains jours, pour que vous puissiez vous approprier les codes vba.
cdt
galougalou
 

Pièces jointes

  • en essai V2 Outil de présence - Copie.xlsm
    488 KB · Affichages: 4

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 146
Membres
103 130
dernier inscrit
FRCRUNGR