dans le cadre professionnel, je souhaite mettre à jour mon vieux fichier pour la gestion des absences des salariés.
En effet, avant j'avais un onglet par mois et je saisissais les données sur chacun d'entre eux pour avoir un récap annuel sur un dernier onglet.
Aujourd'hui, je souhaiterai avoir que deux onglets : un pour les mois qui défilent via une barre (Calendrier) et un pour une base de données qui répertorie les saisies (BDD)
Seul hic, je n'arrive pas à faire le lien entre les deux. C'est à dire que j'aimerai que l'onglet BDD soit lu pour une mise à jour de l'onglet Calendrier lors des changements de mois pour prise en compte des différentes saisies liées au mois en cours. Je ne sais vraiment pas par quel bout commencer.
Je vous joins mon fichier de travail.
Merci à tous.
Bonsoir,
l'applicatif est intéressant mais ne répond pas à ma demande.
Etant conscient que 300 applicatifs du même genre existent déjà, je souhaite créer le mieux et donc juste savoir comment il est possible de faire appel au contenu de certaines cellules d'une feuille pour pouvoir, de manière dynamique, remplir le calendrier du mois sélectionné sur une autre feuille.
Dans votre feuille BDD une colonne en plus pour gérer les dates. (début et fin)
dans le planning des mfc pour la mise en couleur
Neutralisation de l'événement feuille de la feuille calendrier ("Planning"). Dans cette même feuille saisir l'année en cellule A2, le mois en chiffre en cellule B2.(faites des tests avec janvier février mars.)
attention : aucune saisie dans la feuille Planning,( l'information de la colonne C de la feuille BDD étant renvoyé par des formules, il faudra protéger la feuille)
Tout cela demande à être développé, mais avant tout, tester cette solution, et si elle vous convient on pourra vous donner d'autre piste pour faire évoluer votre classeur.
cdt
galougalou
Bonjour à tous,
J'ai fait un fichier de gestion des absences annuel de 06/n à 05/n+1, avec ces absences, qui devrait vous intéresser :
On peut modifier ces type d'absences, il y a un visu par mois/personne onglet mois), un récap par salarié et année/mois. et il y a une saisie formulaire avec calendrier de saisie:
Qu'en pensez-vous ?
Mais sinon la version de galougalou est pas mal, avec peut-être une liste déroulante sur le chiffre du mois en B2 du planning
re fronck
j'attends un retour de mthlcrx pour lui proposer une version avec liste déroulante et formulaire de saisie, mais inutile de travailler si la version ne lui convient pas.
cdt
galougalou
Galougalou, la version proposée est opérationnelle pour mon besoin et je vous en remercie.
Néanmoins, je suis toujours intéressé par une solution où la saisie des absences se fait sur l'onglet "Planning" avec remplissage de la BDD. Le changement de mois via la barre de défilement ou liste déroulante (peu importe) lirait cette BDD pour remplir automatiquement les absences des agents sur le mois en question.
Vous évoquez que cette solution demande une totale refonte du classeur, pouvez-vous m'en dire plus svp ?
Bonsoir p56,
Je vous remercie votre solution répond à ma demande mais n'ai pas d'une grande simplicité au niveau du code vba. Je vais regarder mais pas sûr de pouvoir l'adapter à mon fichier.
re
Sur votre fichier, je vous propose un début de solution, qui sera peaufiné dans les prochains jours.
Le principe
Dans la feuille planning, vous faites une sélection à la souris.
Vous cliquer sur le bouton ouvrir le formulaire, celui-ci sera prérempli. (les dates restent modifiables)
Vous choisissez votre légende et vous validez.
Pas plus compliqué que ça
Les informations sont stockées dans la feuille BDD ou un tableau structuré a été inséré.
Dans les feuilles Planning et BDD, suite à une erreur de saisie s'il y a un chevauchement de date, il y aura une alerte rouge avec information.
cdt
galougalou
bonjour le fil
re mthlcrx
dans la v3 une amélioration du formulaire, (sur sélection d'un collaborateur, les congés validés de celui-ci sont visibles dans une listbox)
Dans la feuille BDD un bouton permet de supprimer les informations des dates dépassées. L'historique est gardé en fonction du nombre de jours saisi en cellule M1
la macro contrôle si un filtre a été posé.
VB:
Sub depose_filtre()
Dim Lst As ListObject
Set Lst = ActiveWorkbook.Worksheets("BDD").ListObjects("Tableau1")
If Lst.AutoFilter.FilterMode Then
Lst.AutoFilter.ShowAllData
End If
End Sub
Sub SUPPRIMER()
Call depose_filtre
Dim J As Integer
With Sheets("BDD")
.Unprotect
li = .Cells(.Rows.Count, 1).End(xlUp).Row
For J = li To 4 Step -1
If .Range("E" & J) < Date - .Range("M1") Then .Rows(J).Delete
Next J
.Protect
End With
End Sub
merci pour cette nouvelle version.
A quoi correspond le contenu de la ligne 2 sur la feuille BDD ?
Est-il possible de ne pas mettre de congés sur les we quand on saisit une période de plusieurs semaines ?
Je regarde plus en détail le fichier pour essayer d'y apporter cette modification.
re
En attendant de trouver une solution plus discrète, la ligne 2 sert à identifier les chevauchements de date, ce qui bloquera le formulaire si un chevauchement est identifié. Il est possible de choisir comme police d’écriture blanc afin de rendre les informations invisibles
pour la deuxième question, dans la formule, il suffirait de faire un test sur la date avec si.
je regarde en soirée
Cdt
galougalou
Ce n'était pas obligatoire, mais j'ai modifié votre gestion des jours fériés. En B1, l'année du jour actuel est actualisé en cellule B1. Les jours fériés seront ceux de l'année en cours, l'année précédente, l'année suivante.
Vous allez trouver une zone de couleur jaune, ou vous pourrez saisir des dates aléatoires. Je pense au pont entre les week-ends et les jours fériés ou les fériés particuliers à certaine zone géographique. Si vous saisissez une date, celle-ci sera neutralisée dans le planning. L'ensemble de la zone est dénommé Fer