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
bonsoir le fil
re etoto re smahancharif
Merci à tous les deux, vos commentaires, c'est la meilleure récompense d'un bénévole. Je préciserais que la courtoisie de ce fil est un encouragement pour les aidants.

re smahancharif
j'ai du mal à interpréter votre problématique, car chez moi je n'ai pas les incohérences visibles dans votre image.
la colonne V est bien la colonne du total des heures encodées, mais celle-ci est réalisée dans le formulaire et non pas dans la feuille.

Si le calcul ne se fait pas, pour moi se pose trois problèmes, deux suppositions et une affirmation.
Supposition 1er cas : ne s'agirait-il pas d'un problème réseau, et si le calcul ne se fait pas, n'avez-vous pas une autre application qui viendrait en conflit  ;
supposition 2ᵉ cas : vos collaborateurs ne ferait-il pas des saisies directement sur la feuille (rappel les calculs se font dans le formulaire).

Le 3ᵉ cas est une affirmation : si vous avez mis à jour votre classeur source avec les infos du fil 214, une macro (planning) ne devrait pas fonctionner. (c'est peut-être la raison de tous vos problèmes, car le planning ne devrait pas se mettre à jour) (je le suppose, car je ne connais pas les manips que vous avez réalisées)
La différence. Elle déprotège la feuille avant la macro et la protège à la fin
impératif, remplacer dans le module 2 la macro Planning par celle-ci
VB:
Sub planning()
Dim f1 As Worksheet, f2 As Worksheet
Dim lig2 As Integer, lig1 As Integer, x As Integer, y As Integer
Set f1 = Sheets("Base")
Set f2 = Sheets("Planning")
Application.ScreenUpdating = False
 With f2
 .Unprotect
   lig2 = .Cells(.Rows.Count, 1).End(xlUp).Row
          .Range("B4:V" & lig2).ClearContents
 lig1 = f1.Cells(f1.Rows.Count, 1).End(xlUp).Row
    lig2 = .Cells(.Rows.Count, 1).End(xlUp).Row
        For x = 3 To lig1
          For y = 4 To lig2
            If f1.Cells(x, 3) = .Cells(1, 7) Then
              If f1.Cells(x, 2) = .Cells(y, 1) Then
                .Cells(y, 2) = f1.Cells(x, 4).Text & " " & f1.Cells(x, 7).Text
                  .Cells(y, 3) = f1.Cells(x, 5).Text & " " & f1.Cells(x, 6).Text
                    .Cells(y, 4) = f1.Cells(x, 8).Text
              
              
                .Cells(y, 6) = f1.Cells(x, 10).Text & " " & f1.Cells(x, 13).Text
                  .Cells(y, 7) = f1.Cells(x, 11).Text & " " & f1.Cells(x, 12).Text
                 .Cells(y, 8) = f1.Cells(x, 14).Text
              
              
                .Cells(y, 10) = f1.Cells(x, 16).Text & " " & f1.Cells(x, 19).Text
                    .Cells(y, 11) = f1.Cells(x, 17).Text & " " & f1.Cells(x, 18).Text
                        .Cells(y, 12) = f1.Cells(x, 20).Text
              
              
                .Cells(y, 14) = f1.Cells(x, 22).Text & " " & f1.Cells(x, 25).Text
                 .Cells(y, 15) = f1.Cells(x, 23).Text & " " & f1.Cells(x, 24).Text
                     .Cells(y, 16) = f1.Cells(x, 26).Text
              
              
                .Cells(y, 18) = f1.Cells(x, 28).Text & " " & f1.Cells(x, 31).Text
                    .Cells(y, 19) = f1.Cells(x, 29).Text & " " & f1.Cells(x, 30).Text
                        .Cells(y, 20) = f1.Cells(x, 32).Text
                  
                     .Cells(y, 22) = f1.Cells(x, 34).Text
                
              End If
            End If
          Next y
        Next x
    .protect
 End With
  Application.ScreenUpdating = True
End Sub
Je dirais en conclusion que je suis très surpris par votre capture d'écran ce qui me conduit à vous préciser le fonctionnement du classeur.
Quand une saisie est faite avec le formulaire, les informations sont ventilées (dans la feuille base non visible), et celles-ci sont cumulées.
Dans la feuille Planning, la sélection d'un numéro de semaine doit vous renvoyer uniquement les informations de la semaine sélectionnée extraite de la feuille Base. Le bouton mise à jour fait de même avec la semaine sélectionnée.
C'est tout du moins le comportement du classeur d'origine à mon domicile
Pour l'image du fil 223, la barre des taches au milieu de l'écran, c'est très bizarre et je n'ai pas d'explications. (sauf si l'ordi a bloqué pour des raisons X, ou des conflits sur le réseau, mais ça ne devrait pas venir d'excel)

cdt
galougalou
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 097
Messages
2 085 261
Membres
102 844
dernier inscrit
atori2