Automatisation planning

Bonjour,

Je souhaiterais automatiser mon planning d'absences via des macros.

N'ayant pratiquement aucune connaissance dans les macro et le VBA, j'ai quand même réussi à ajouter une feuille, supprimer les données de base et modifier les dates.

Cependant, le plus important dans l'automatisation reste les formules de calcul et c'est là mon problème.

N'ayant pas réussi à joindre le fichier excel (trop lourd), je me suis permis de faire des impressions écran pour expliquer ce que je souhaite obtenir (si c'est possible) : créer une macro qui modifie la formule de calcul pour la recherche des motifs d'absence.

Avec mes remerciements,

Bien cordialement.

Cela semble pouvoir se régler sans macro !

Il serait vraiment bien que tu donnes ton fichier pour que l'on puisse faire directement dessus.

Je te propose de l'alléger en supprimant l'onglet 2019 et en gardant que un ou deux services.

a me redire,

Leakim

Bonjour,

Voici mon fichier allégé

Merci pour ton aide.

Bien cordialement

Re,

J'avance pas vite parce que je fais d'autres choses en même temps mais j'ai bien avancé !

J'ai fait une usine à gaz qui fonctionne mais je vais simplifier

Pour te donner un avant gout !

=SI($A7="";"";NB.SI(DECALER(Planning!$B$3;EQUIV(' Soldes CP au 31-05-2018'!$A7;Planning!$A:$A;0)-3;EQUIV(' Soldes CP au 31-05-2018'!B$5;Planning!$3:$3;0)-2;;EQUIV(' Soldes CP au 31-05-2018'!D$5;Planning!$3:$3;0)-EQUIV(' Soldes CP au 31-05-2018'!B$5;Planning!$3:$3;0));Données!$G$14)+(NB.SI(DECALER(Planning!$B$3;EQUIV(' Soldes CP au 31-05-2018'!$A7;Planning!$A:$A;0)-3;EQUIV(' Soldes CP au 31-05-2018'!B$5;Planning!$3:$3;0)-2;;EQUIV(' Soldes CP au 31-05-2018'!D$5;Planning!$3:$3;0)-EQUIV(' Soldes CP au 31-05-2018'!B$5;Planning!$3:$3;0));Données!$G$15)/2))+NB.SI(DECALER(Planning!$B$3;EQUIV(' Soldes CP au 31-05-2018'!$A7;Planning!$A:$A;0)-3;EQUIV(' Soldes CP au 31-05-2018'!B$5;Planning!$3:$3;0)-2;;EQUIV(' Soldes CP au 31-05-2018'!D$5;Planning!$3:$3;0)-EQUIV(' Soldes CP au 31-05-2018'!B$5;Planning!$3:$3;0));Données!$G$16)

A plus tard.

Leakim

Salut,

voici une proposition.

J'ai fait une formule qui est dynamique selon la date en B5 de début et en D5 de fin de la période. Ainsi, une fois que la période est défini on décale la zone selon le nom de la personne et on calcule dans la zone les motifs de congés.

A me redire.

Leakim

Bonjour,

Merci pour ce travail. Effectivement, ça fonctionne, mais je ne comprends pas toute la formule.

Pourrais-tu m'en donner l'explication car je risque de devoir l'utiliser dans d'autres applications et pour cela, il me faut la comprendre.

Avec mes remerciements,

Bien cordialement.

Salut,

Content que cela réponde à tes besoins.

Pour la formule c'est l'utilisation de la fonction DECALER(). Celle-ci te permet d'avoir une zone dynamique en lien avec la période en B5 et D5.

Avec la fonction EQUIV() en va chercher les dates sur ta ligne de temps (ligne 3) de l'onglet planning ainsi tu as le début et la fin.

Par la suite, tu détermines la ligne qui t’intéresses via le choix de la personne. Là encore tu utilises equiv() qui recherche le nom dans la colonne A et l'onglet planning.

Je crois que je vais me lancer dans un tuto de la fonction car elle est très utile pour avoir des zones dynamiques.

Si tu as des questions, n'hésites pas.

Leakim

Bonjour et merci pour tout.

Je vais essayer de mettre mon fichier à jour et reviendrai sur le forum si problème pour amélioration de mon fichier.

Bien cordialement.

Ok,

Pour l'amélioration, j'ai une macro qui permet d'afficher directement la colonne à la date du jour.

J'ai moi aussi un fichier comme le tien et c'est très pratique. Cela évite de scroller la barre de défilement dès le démarrage.

A me redire,

Leakim

Bon,

Puisque je suis là

Voici la macro à mettre dans ta feuille.

Cette macro détermine la date du premier jour du mois en cours et affiche celle-ci directement !

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
    For i = 2 To 10000
        If Cells(3, i) = DateSerial(Year(Date), Month(Date), 1) Then ActiveWindow.ScrollColumn = i
    Next
End Sub

Voici le fichier

Leakim

Bonjour et merci pour cette macro.

C'est mon chef qui va être content quand il va ouvrir le fichier !!!

Bien cordialement.

Rechercher des sujets similaires à "automatisation planning"