Calculateur d'absence selon plusieurs fichiers

Ecoute rien à redire sur les résultats c'est parfait ! Je viens de te corrigé l'orthographe de Août,

Je vais essayer de test ta macro sur mon fichier orignal !

Voici une version qui permet de bien contrôler qu'il s'agit des bons mois car jusqu'à présent je me fiais juste à l'ordre des onglets (1, 2, " etc. jusque 13).

Il serait bon de revoir (légèrement, faut pas brusquer) les fichiers source de façon à

  1. être sûr des dates et simplifier la macro
  2. faciliter grandement la mise en place du masque pour les nouvelles années.

Merci bien Steelson !

Je viens de test la macro sur mon fichier d'origine mais cela ne fonctionne pas. Pourtant le format est identique.

Je te mets mon fichier, en pièce jointe (avec des onglets supplémentaires en fin de document), mais ta macro ne touche pas les derniers onglets donc je pense que le problème ne vient pas de là. Je ne peux pas vérifier l'erreur car le message "Le fichier "planning-rh*xlsx" doit ouvert. " s'affiche. (Normal c'est le codage). Même après avoir modifié le nom de la source dans la macro, rien y fait…

As tu la même erreur ?

Le problème vient surement de moi, …

Les tableaux commencent à la ligne qui leur convient ! parfois lige 8, parfois 9, parfois 7.

Une feuil2 masquée est coincée entre les mois

Ah oui en effet c'est problématique, j'ai changé merci !

Tout à l'air nickel, tu as ce message là aussi ?

image

ça fait ça pour janvier, février,..., décembre et après la macro s'exécute.

C'était juste pour contrôler, il faut l'enlever de la macro. Cela m'a permis de voir où cela coinçait !

Voici une base "non révolutionnaire" de planning où il suffit de changer l'année dans l'onglet calendrier.

Avec cela, si tu l'adoptes pour 2021, la macro fonctionnera mais on peut la simplifier (pas négligeable pour sa maintenance)

16planning-v1.xlsm (127.98 Ko)
  1. je vais aussi regarder pour la saisie des codes et leur mise en couleur
  2. je vois aussi à droite des calculs faits ligne par ligne ... je pense que l'on pourrait aussi les faire
    1. de la même façon
    2. et intégrée au fichier planning, ce qui simplifierait le tout

Je viens de tester c'est vraiment pratique !

A quoi pense tu pour les calculs de droite ? . J'aimerais que les salariés puissent avoir un visuel rapidement, de plus le service Rh utilise ses données pour d'autres fichiers.

La macro est uniquement pour moi et mes collaborateurs, l'ensemble des personnes du service n'auront pas accès à la macro.

As tu réussi à ouvrir le fichier "Planning Achat" ?

A quoi pense tu pour les calculs de droite ? . J'aimerais que les salariés puissent avoir un visuel rapidement, de plus le service Rh utilise ses données pour d'autres fichiers.

à ceci ... clique sur l'onglet Synthese

10planning-v2.xlsm (246.01 Ko)

As tu réussi à ouvrir le fichier "Planning Achat" ?

J'ai tenté, j'ai le même soucis, donc je ne peux pas aller voir les différents onglets car dès que j' "accepte" ou j' "active le contenu" cela plante ! Problème d'accès à sharepoint.

Mais tu devrais pouvoir appliquer la macro dessus ... il faut respecter l'ordre des 13 premiers onglets, vérifier s'il n'y a pas un onglet caché au milieu, et mettre à jour les services d'affectation.

Dernière élucubration ... je n'aime pas trop compliquer à outrance des fichiers, mais ceci peut être d'une aide intéressante.

https://www.excel-pratique.com/fr/telechargements/utilitaires/menu-shapes-excel-no441

Ecoute personnellement j'apprécie énormément l'idée, je vais proposer au service Rh ce nouveau model et tester la macro pour l'ensemble des services !

En tout cas merci beaucoup du temps que tu m'as consacré !

Je vais regarder comment se créer ton menu reconfigurable et essayer de l'adapter au fichier.

Merci !

je vais proposer au service Rh ce nouveau model et tester la macro pour l'ensemble des services !

s'ils n'ont pas eux besoin de la mécanique un peu plus complexe d'affectation à des services multiples, cela simplifie la macro, ce n'est pas négligeable pour des questions de maintenance.
Sub COMPILER(ok As Boolean)
Dim f As Worksheet, tbl, bdd As Worksheet, fam As Object, result()

    ' raz de la bas de données
    Set bdd = Sheets("Recap")
    If Not bdd.ListObjects(1).DataBodyRange Is Nothing Then bdd.ListObjects(1).DataBodyRange.Delete

    ' chargement des familles de code
    cod = Range("Tcodes[#All]").Value
    Set fam = CreateObject("Scripting.Dictionary")
    For i = LBound(cod) + 1 To UBound(cod)
        fam(cod(i, 1)) = cod(i, 3)
    Next

    n = 0
    For Each f In Worksheets
    If IsNumeric(Left(f.Name, 1)) Then

        derL = f.Range("A" & Rows.Count).End(xlUp).Row
        tbl = f.Range("A8:AF" & derL).Value                              ' importation globale de la plage dans tbl

        For i = 4 To UBound(tbl) Step 3                                  ' ce qui donnera les noms en colonne 1
            For j = 2 To UBound(tbl, 2)                                  ' balayage de toutes les dates

                If tbl(i + 1, j) <> "" Then                              ' motif présent le matin
                    n = n + 1
                    ReDim Preserve result(1 To 9, 1 To n)
                    result(1, n) = tbl(i, 1)
                    result(2, n) = Format(tbl(1, j), "mm/dd/yyyy")
                    result(3, n) = tbl(i + 1, 1)
                    result(4, n) = tbl(i + 1, j)
                    result(5, n) = 0.5
                    result(6, n) = fam(tbl(i + 1, j))
                End If

                If tbl(i + 2, j) <> "" Then                              ' motif présent l'apm
                    n = n + 1
                    ReDim Preserve result(1 To 9, 1 To n)
                    result(1, n) = tbl(i, 1)
                    result(2, n) = Format(tbl(1, j), "mm/dd/yyyy")
                    result(3, n) = tbl(i + 2, 1)
                    result(4, n) = tbl(i + 2, j)
                    result(5, n) = 0.5
                    result(6, n) = fam(tbl(i + 2, j))
                End If

            Next
        Next

    End If
    Next

    bdd.Cells(2, 1).Resize(UBound(result, 2), UBound(result)) = Application.Transpose(result)

End Sub
13planning-v2bis.xlsm (220.94 Ko)

Bonjour Steelson,

Bonne nouvelle le service rh accepte ce nouveau modèle... (heureusement)

Du coup j'ai pris ta dernière version pour le calendrier.

Cependant la macro ne fonctionne pas pour le calculateur. Je pense que ça vient du format A3 de janvier. As-tu une idée du problème ?

Cordialement,

Autres questions, existe t'il un moyen dans Excel de lier les zones de vacances scolaire A B C, directement dans le planning, grâce à un code couleur ?

Cdl,

Cependant la macro ne fonctionne pas pour le calculateur. Je pense que ça vient du format A3 de janvier. As-tu une idée du problème ?

A3 c'est purement du texte, prend A4 pour l'année et B4 pour le mois, c'est cela qui drive la mise en place du calendrier

Sinon explique moi ce qu'est ce calculateur.


Autres questions, existe t'il un moyen dans Excel de lier les zones de vacances scolaire A B C, directement dans le planning, grâce à un code couleur ?

Cdl,

Bien sûr, comme les jours fériés. Je vais regarder mais après la résolution du premier point.

Re Steelson,

Ce calculateur va servir à mon service et non au service rh.

Je dois regrouper dans une même feuille (Car les données vont aller dans PowerBi), le nombre d'absence total mois par mois, par service.

En prenant en compte les % de temps travailler pour chaque service (comme sur les derniers fichiers "calculateur" que tu m'as envoyé).

Je dispose donc de 4 planning Rh (1 par service), je vais utiliser ton modèle de planning pour les 4 services. (Les 4 plannings ont leur propre fichier Excel)

Maintenant je dois regrouper toutes ses informations comme ceci (ou un autre modèle, peu importe).

JanvierFévrierMars...
Service 1

Service 2

Service 3

Service 4

Le résultat doit être semblable à la feuille Synthèse de ton fichier.

Je ne sais pas si je suis assez compréhensible, si besoin je peux te transférer les 4 services sous ton model ?

Cela peut-être simple, il suffit de regrouper sur un seul et même fichier les 4 onglets Recap des 4 fichiers (onglets masqués). On peut le faire à la main (en sélectionnant Tbdd) - voir en haut à gauche de la photo ou en automatique et actualiser ensuite le TCD. On oublie dans ce cas les zones A3, A4, B4 des onglets mensuels, la récap a déjà été faite.

capture d ecran 204

Très très bien d'harmoniser, c'est comme cela que l'on gagne en productivité administrative et qualité des données.

Rechercher des sujets similaires à "calculateur absence fichiers"