Complément de macro 2

Bonjour
Je reviens encore chercher de l’aide j’ai une macro qui recopie automatiquement la ligne de mais tableaux "saisie conges, RTT etc sur les onglets Récap en tenant compte du prénom de l’agent .
Mais cette macro fonctionne que pour le tableau "saisie de congés " et je souhaiterez quelle fonctionne aussi pour les autres (RTT,Formation etc …)
Je vous joint le fichier
dernier fichier planning.xlsm (105,9 Ko)

Bonjour

Je veux bien participer mais il faudrait plus de précision
Je viens de tester la saisie RTT et Formation les onglets « Saisie RTT » et « Saisie des formations » sont bien alimenté de celle-ci
Seule la saisie « Congés » bug car le traitement fait appel à un onglet inexistant « Récap_Invité »
Il faudrait le réintégrer ou modifier le nom de l’onglet concerné pour l’alimentation des données

Merci de m’éclairer sur cette situation et sur tes attentes la concernant

bonjour oui les onglet saisie sont bien alimenté mais je voudrait que si cécilia pose un RTT sa incrémente bien l 'onglet saisie RTT je voudrait que la ligne incrémenté soit copier dans l’onglet Récap_Cecilia la macro marche pour la saisie de conges mais je n’arrive pas à la recopier

C est déjà plus claire
Je regarde et te fais une réponse demain
Un peu de patience donc

Bonjour

Ci-joint ton fichier adapté

J’ai corrigé la liste des utilisateurs colonne K onglet « Params » car chaque prénom été précédé d’un blanc intempestif que j’ai supprimé
Attention donc à ce caractère invisible préjudiciable pour les traitement aux extrémités de ces données

Testes et dis moi

dernier fichier planning2.xlsm (135,6 Ko)

Bonjour Merci beaucoup pour ton aide sa marche super.
Je voudrais pas abuser abuser je me suis aperçu que mon planning marche bien si l’on prend des jours entier mais pas pour les demi journée. j’essaye plusieurs chose comme une case a cocher sur l userform avec une macro qui compte du coup que 0.5.
si tu as des propositions je suis preneur.
c’est tu quel formule il faut que j’utile pour faire la somme des congés entre deux date 01/01/2021au 31/04/2021 par exemple
En te remerciant par avance

Merci pour ce retour
Ravi que cela fonctionne selon tes attentes
Pour ton calendrier il faut effectivement un artifice pour distinguer les sélections à journée de celles à demi journée
Cases à cocher ou liste de roulante avec les 2 choix
Reste ensuite à inclure dans le traitement le critère

« c’est tu quel formule il faut que j’utile pour faire la somme des congés entre deux date 01/01/2021au 31/04/2021 par exemple »

Formule en code VBA ou dans cellule ?

Merci de préciser

N oublies pas de valider ma réponse un plus sympathique

Dans l attente de te lire

Bonjour
Pour la formule je penser plutôt dans la cellule
Pour la distinction en une journée et une demi-journée je vais m’orienter plutôt vers la case à cocher mais j’ai un peu de mal avec le code si tu peux me donner une solution
pour valider ta réponse il faut que je coche « solution » c’est bien ca.
En te remerciant

Bonjour

Pour la formule à supposer que la date de début soit en cellule A1 celle de fin en cellule A2 tu mets la formule suivante :

=NB.JOURS.OUVRES(A1;A2)

Si des jours fériés sont à exclure il faut les lister dans une plage par exemple en feuil2 cellule A1 et A2 2 jours fériés listés on met comme ceci :

=NB.JOURS.OUVRES(A1;A2;Feuil2!A1:A2)

Testes et dis moi

Pour la case à cocher adapte ton formulaire selon tes attentes puis je peaufinerais le code pour la prendre en compte

Dans l’attente de te lire

Oui j’ai déja utilisé la formule =NB.JOURS.OUVRES la elle fonctionne pas car sur mon tableau qui s’incrémente au fur à mesure je souhaiterais qu’une formule m’additionne les jours pris entre deux dates que moi le décide
Je te joins le fichier avec la case à cocher que j’ai rajouter sur mon user form
dernier fichier planning conges supp.xlsm (131,7 Ko)

Bonsoir
Les dates que tu décides sont aussi présentes dans les cellules ou n existes pas dans toutes celles-ci ?

Pour ton formulaire avec la case à cocher si celle-ci ne l est pas chaque jour dans l intervalle des dates choisis début et fin sont toutes à compter à 1 sinon à 0.5 ou cette coche ne concerne que la première et la dernière date dans le même esprit ?
Doit on dans cette dernière alternative traité ces 2 dates début et fin à l identique ?
Dans le cas inverse une deuxième case sera nécessaire pour les distinguer dans leur traitement

Merci pour toutes ces reponses

Bonsoir
Pour la formule j’ai fait avec SOMME.SI.ENS
Sa marche plutôt bien.
Pour la coche dans mon esprit c’est si y a coche c’est la date du début qui fait foie.

« Pour la coche dans mon esprit c’est si y a coche c’est la date du début qui fait foie. »

C’est à dire comment on doit compter les jours de la première à la dernière date ?
Donnes moi un exemple

Merci

Après réflexion je pense qu’il vaut bien prendre en compte les deux date
exemple
date de début 20/08/2021
date de fin 20/08/2021 puis coche = 0.5 dans mais tableaux

OK donc date debut 20/11/2021 de fin 30/11/2021
Sans coche : 10 jours - 4 jours non ouvrés soit 6 jours X 1 = 6
Avec coche 10 jours - 4 jours non ouvrés soit 6 jours X 0.5 = 3

Merci de me confirmer

oui tout à fait la coche divise en deux

Merci
Je regarde demain et te propose une version adaptée sur la base de ton dernier fichier
Bonne soirée

Merci bonne soirée également

Bonjour

Ci-joint ton dernier fichier adapté

Tout d’abord attention au paramétrage de ton formulaire et plus particulièrement à celui de la Listebox « AGENT »

Le paramètre « RowSource » a été modifié par mes soins car inadapté à son besoin
Il pointait sur une liste nommé « _users » lui même ciblé sur une seule donnée onglet « Gestion des accès » cellule B3
Dans cette cellule de cet onglet il y a qu’une donnée « ADMIN » qui n’a rien à voir avec une liste d’agents

Voir liste de gauche en bas le choix « RowSource »

C’est pour cela que j’ai créé une autre liste qui pointe sur la colonne K de l’onglet « Params » qui porte la liste des agents souhaités
Cette liste je l’ai nommée « liste_salariés » et l’ai affecté au paramètre « RowSource »

Désagréable surprise de retrouver la première liste dans ton dernier fichier au niveau de ce paramètre

Et bien-sure de ne plus bénéficier de la liste des agents dans la listebox

Alors attention à ce paramètre

Pour la prise en compte de la case à cocher j’ai rajouté dans tous les onglets « Saisie XXXX » colonne E la présence de cette coche par la donnée « X »
J’ai mis comme entête « DEMI »

Puis j’ai adapté la formule de calcule colonne D en fonction de cette donnée pour induire le bon résultat

Absence de celle-ci colonne E calcul inchangé
Présence de celle-ci colonne E Calcul divisé par 2

Pour obtenir un résultat avec décimal (0,5 par exemple) j’ai modifié le format des cellules colonne D (format nombre à une décimale)

Attention aussi à tes différents fond de présentation qui empêche pour certain la visibilité des données retranscrite par le traitement
Invisibles alors que présentes

A toi de bien choisir tes couleurs pour une exploitation correcte

Fais des testes et dis moi

dernier fichier planning conges supp.xlsm (139,5 Ko)

bonjour
oui effectivement c’est moi qui est changé RowSource pour qu’il y ai que la personne qui se connecte qui apparait dans ma liste box « agent » .
la coche fonctionne bien je rencontre juste un petit soucis si je veux prendre une demi journée.
exemple
date de début 14/11/2021
date de fin 14/11/2021 pour une demi journée cela me marque 0 en nombre pris
Je pense que l’erreur viens de ma formule de calcul des jours ouvrés sur l’onglet saisie de congé
il faut que je la modifie
peux tu me dire si tu est d’accord avec mon analyse
En te remerciant pour ton aide