Automatisation planning

Y compris Power BI, Power Query et toute autre question en lien avec Excel
M
Mélorine66
Nouveau venu
Nouveau venu
Messages : 8
Inscrit le : 26 septembre 2017
Version d'Excel : 2017

Message par Mélorine66 » 6 mars 2018, 08:44

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.
Explications demande macro.pdf
(169.09 Kio) Téléchargé 10 fois
Avatar du membre
leakim
Membre impliqué
Membre impliqué
Messages : 1'783
Appréciations reçues : 11
Inscrit le : 11 décembre 2012
Version d'Excel : 2010 - 2016 FR
Téléchargements : Mes applications

Message par leakim » 6 mars 2018, 08:57

:bv:
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
On apprend par des essais/erreurs. L'erreur, serait de ne pas en faire... :noel:
Image
M
Mélorine66
Nouveau venu
Nouveau venu
Messages : 8
Inscrit le : 26 septembre 2017
Version d'Excel : 2017

Message par Mélorine66 » 6 mars 2018, 09:18

Bonjour,
Voici mon fichier allégé
Merci pour ton aide.
Bien cordialement
Planning absences macros.xlsm
(439.47 Kio) Téléchargé 16 fois
Avatar du membre
leakim
Membre impliqué
Membre impliqué
Messages : 1'783
Appréciations reçues : 11
Inscrit le : 11 décembre 2012
Version d'Excel : 2010 - 2016 FR
Téléchargements : Mes applications

Message par leakim » 6 mars 2018, 13:39

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
On apprend par des essais/erreurs. L'erreur, serait de ne pas en faire... :noel:
Image
Avatar du membre
leakim
Membre impliqué
Membre impliqué
Messages : 1'783
Appréciations reçues : 11
Inscrit le : 11 décembre 2012
Version d'Excel : 2010 - 2016 FR
Téléchargements : Mes applications

Message par leakim » 6 mars 2018, 17:54

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
Planning absences.xlsx
(430.93 Kio) Téléchargé 15 fois
On apprend par des essais/erreurs. L'erreur, serait de ne pas en faire... :noel:
Image
M
Mélorine66
Nouveau venu
Nouveau venu
Messages : 8
Inscrit le : 26 septembre 2017
Version d'Excel : 2017

Message par Mélorine66 » 7 mars 2018, 09:21

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.
Avatar du membre
leakim
Membre impliqué
Membre impliqué
Messages : 1'783
Appréciations reçues : 11
Inscrit le : 11 décembre 2012
Version d'Excel : 2010 - 2016 FR
Téléchargements : Mes applications

Message par leakim » 7 mars 2018, 09:44

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
On apprend par des essais/erreurs. L'erreur, serait de ne pas en faire... :noel:
Image
M
Mélorine66
Nouveau venu
Nouveau venu
Messages : 8
Inscrit le : 26 septembre 2017
Version d'Excel : 2017

Message par Mélorine66 » 7 mars 2018, 17:46

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.
Avatar du membre
leakim
Membre impliqué
Membre impliqué
Messages : 1'783
Appréciations reçues : 11
Inscrit le : 11 décembre 2012
Version d'Excel : 2010 - 2016 FR
Téléchargements : Mes applications

Message par leakim » 7 mars 2018, 18:14

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
On apprend par des essais/erreurs. L'erreur, serait de ne pas en faire... :noel:
Image
Avatar du membre
leakim
Membre impliqué
Membre impliqué
Messages : 1'783
Appréciations reçues : 11
Inscrit le : 11 décembre 2012
Version d'Excel : 2010 - 2016 FR
Téléchargements : Mes applications

Message par leakim » 7 mars 2018, 18:29

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
Planning absencesV2.xlsm
(436.86 Kio) Téléchargé 12 fois
On apprend par des essais/erreurs. L'erreur, serait de ne pas en faire... :noel:
Image
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message