Planning Hebdomadaire VBA

tps activite myriam tps activite myriam

Bonjour @pierrep56

merci pour ton retour et efficacité. Sympa. Au fait je te tutoie mais peut-être y vois-tu un inconvénient auquel cas je vouvoierai ?

Tu écris simplification des bilans : 1 seul onglet pour "Travail" et "Absences" dommage ça m'allait bien d'avoir 2 onglets comme la version d'avant. En effet, avec des formules Excel j'aurais pu avoir le bilan annuel par type d'absence et notamment "Vacances" et "Récupération" avec l'autre onglet "activité" j'avais le cumul des activités par personne et avec tout ça je pouvais me faire mes décomptes de vacances par rapport à un compteur de vcs initiales et calculer le dépassement de temps d'activité (heure au delà du contrat) auquel j'enlevais les absences récup.

Bref comme proposé maintenant ce n'est plus possible car c'est un bouton qui switch entre heures travaillées et absences dans l'onglet "Bilan", du coup je ne sais plus trop comment faire maintenant.

J'ai testé et remarqué un problème : lors de l'affichage des heures travaillées sont inclus le temps des absences voir exemple screenshot sur Myriam. Ds l'exemple (bidon) le tps d'activité :

- en juin et juillet devrait être de 7h30 et non pas respectivement 13h15 et 27h30

Merci pour tout

Gaëlle

vision bdd myriam

En effet, défaut corrigé ici.

Et si on a besoin d'un "bilan absences" à part, il suffit de dupliquer l'onglet "bilan" existant.

Pierre

Edit : suppression des fichiers obsolètes

Bonsoir @pierrep56

Merci pour la correction et l'idée de dupliquer l'onglet "bilan" est pas mal vu.

Je teste ça.

2 questions pratiques : pour des raisons de code du travail, j'ai besoin d'avoir :

1) par jour tjs au moins 2 personnes au démarrage quelle que soit l'heure et au moins 2 personnes à la fermeture quelle que soit l'heure.

Le groupe de personnel peut être > à 10 voire 15 personnes alors lorsque je fais mes plannings quand j'ai fini de remplir une journée comment pourrais-je être seulement avertie que je n'ai pas au moins 2 personnes qui débutent où finissent la journée (elles peuvent être différentes)

Voir exemple ok où (en reprenant les noms du fichier) Elsa et Gabrielle sont présentes au plus tôt à 8h00 (mais ça aurait pu être plus tôt ou plus tard), Julia ne compte pas car en vacances) et Richard, Marion, Gabrielle sont présents au plus tard à 18h00 (mais ça aurait pu être plus tôt ou plus tard), Eléonore ne compte pas car en absence Récup)

exemple bon

2) J’ai 2 diplômées (Nicole et Chloé) ds l’équipe et il faut que par jour il y ait au moins 1 diplômée qui soit présente dans la période de 9h00 à 17h30.

Voir exemple ok où Nicole est bien présente à 9h00 (ça aurait pu être plus tôt), Nicole s’arrête à 12h15 et Chloé est présente à 12h00 (il y a même recouvrement) et termine à 17 :45 (ça aurait pu être plus tôt : 17h30)

Là aussi comment pourrais-je être seulement avertie que je n'ai pas une couverture de la période de 9h00 à17h30 sans interruption par au moins 1 diplômée.

exemple dipomees

J'espère avoir été claire ds mes exemples.

comment avoir ces 2 avertissements si je ne suis pas ds les règles ?

Merci encore

Gaëlle

Bonjour,

Trop facile!

Voilà ce que je propose, une version du jour avec "qualifications" :

* la liste des qualifications est à saisir en "Cfg" colonnes H (8 lignes possibles). Les "seuils" mini à atteindre sont en colonne I

ici pour l'exemple j'ai mis 3 intitulés quelconques avec des chiffres-seuils quelconque. Ces 2 listes sont configurables comme on veut.

* chaque opérateur possède au moins une qualification (impératif ici!), il peut aussi en avoir plusieurs par ex : Ope, Dsg (ici pour reprendre mes intitulés bidons). Chaque qualif séparée par une virgule+espace.

* sur le planning global, il suffit alors d'un clic simple sur une date pour obtenir un tableau de comptage des qualif heure par heure. Dans ce tableau, les seuils ok sont en vert, si inférieur=>en rouge, si supérieur=>en bleu

capture comptage

Il me semble qu'avec ce tableau, on a le visu des éventuels manques sur chaque heure.

Pierre

Edit : suppression des fichiers obsolètes

Bonsoir @pierrep56

Merci SUPER et bravo pour l'idée de fournir un tableau montrant les effectifs (paramétrables) diplômée, opé, etc. Cela répond à mes 2 interrogations, avec toutefois un petit bémol

1) ma question 2 du message précédent : « J’ai 2 diplômées (Nicole et Chloé) ds l’équipe et il faut que par jour il y ait au moins 1 diplômée qui soit présente impérativement dans la période de 9h00 à 17h30.

Comme le choix proposé ce fait par créneau de 1 heure, il faut qu’une diplômée aille au moins jusqu’à 18h00 pour voir un 1 de noté ds la tranche 17h00–18h00 informant que du coup c’est bon et ce qui est le cas car bien présente au moins jusqu’à 17h30.

Ds l’exemple ci-dessous où les 2 diplômées seraient Julia et Marion :

Si une diplômée s’arrête à 17h15 => pas de 1 donc bon car non présente à 17h30 => donc ok

Mais si une diplômée s’arrête à 17h30 ou 17h45 pas de 1 ds la tranche 17h00–18h00 => ce qui n’est pas bon car bien présente à 17h30 même au-delà ici 17h45.

image

Comment faire sachant qu’on y est presque ? 2 idées ne sachant pas la difficulté pour toi (vous) de mise en œuvre

a) Subdiviser chaque heure par ½ heure soit le double de cases dans le Useforme affiché pour la journée => la place nécessaire supplémentaire serait réduite en paramétrant dans l’onglet « Cfg » l’heure de démarrage et de fin de la journée (i.e ici ds mon exple à partir de 7h00 jusqu’à 18h00 et non 0h00- 24h00

b) peut-être ne diviser que cette tranche 17h00-18h00 par 2 cases représentant une ½ heure (pb pas très paramétrable si autre créneau contractuel) pour :

  • la 1ère case la tranche 17h00-17h30 et
  • la 2ème case la tranche 17h30-17h00

2) ma question 1 du message précédent : par jour tjs avoir au moins 2 personnes (quelle qu’elles soient i.e diplômée ou non diplômés., ça peut être 2 diplômées ou 2 non diplômées ou 1 diplômée et 1 non diplômée) au démarrage quelle que soit l'heure et au moins 2 personnes (même chose) à la fermeture quelle que soit l'heure.

Là aussi la solution proposée est pas mal et visuelle. Sauf qu’il faut lire le total de la colonne (ici pour la fermeture). Donc ici avec peu de type de type de qualifié ça reste encore faisable mais avec plusieurs je ne sais pas.

Ds l’exemple ci-dessous j’ai bien 2 personnes au plus tôt : 7h00 et 2 personnes au plus tard : 18h00 soit 1 diplômée et 1 opé (1 en rouge car je pense que la règle des 2 opé n’est pas retenue alors qu’en fait c’est bon car j’ai au moins 2 personnes => 1+1). Donc la somme de la colonne est >= à 2 c’est ok

Peut-être que j’en demande trop mais est-ce possible de transformer ce 1 rouge en vert (et je vérifierais la que la somme soit >=2) ou mieux avoir une cellule au-dessus de chaque colonne horaire qui serait la somme de cette colonne donc lecture directe ?

image

J'espère avoir été claire ds mes exemples.

Juste une :

  • explication : je ne vois pas bien comment fonctionne le choix « 1ère qualification » et « toutes les qualifications »
image
  • correction : le type d’absence n’est pas mis à blanc ds « Bdd » (ici Récup)

Ok car absence Récup saisie

image

Pas ok car après suppression absence en décochant « Absenc » ds le UserForm pour finalement saisir une activité => Récup est tjs ds Bdd.

image

Surement une remise à blanc de la liste déroulante « motif absence » qui n’est faite lorsqu’on clique sur « Absenc » ds le UserForm.

Merci encore pour l'aide

Gaëlle

Bonjour à tous, Gaëlle,

Pour commencer, quelques explications :

* « 1ère qualification » et « toutes les qualifications » :

Une personne peut avoir plusieurs qualifications, exemple dans un garage un magasinier peut être aussi mécano (qui sera noté "magasinier, mécano" en colonne C de "Cfg").

- avec le choix "1ère qualif" : il sera compté 1 comme magasinier

- avec le choix "toutes qualif" : il sera compté 1 comme magasinier ET 1 comme mécano

Ainsi pour le cas "Gaëlle" on pourrait avoir un "Diplômé, Vendeur" par exemple

* Horaire de début de journée :

- on peut modifier la cellule D7 pour adapter la grille horaire à ses horaires d'ouverture.

- dans la version du jour, la grille de comptage des qualif se calque sur cet horaire de début

- l'amplitude est toujours de 13h, mais si on préfère il est toujours possible de masquer les colonnes qui ne servent pas (par exemple de 19h à 20h).

Donc voici la version du jour avec quelques modif :

* grille de comptage des qualif :

- par 1/2 heures sur une amplitude de 13h depuis l'heure de début indiquée en D7

- comptage par 1/2h complètement occupée (par ex : une arrivée à 8h45 est comptée à partir de 9h, un départ à 17h45 est compté jusqu'à 17h30)

- total de l'effectif pour chaque 1/2h en bas du tableau et en grisé

capture comptage2

* couleurs des seuils configurables en colonne K de "Cfg"

* + Corrections des détails signalés.

Avec mes tests, il me semble que ça fonctionne à peu près correctement (?)

Pierre

Edit : suppression des fichiers obsolètes

Bonjour pierrep56,

Ayant un planning à préparer pour mon travail, j'ai fait des recherches sur internet et ai trouvé votre planning très bien fait.

La version du 29 juin me parait correspondre tout à fait à mes besoins à un bémol près : serait-il possible d'avoir une version avec des horaires de 1/2h en 1/2 h et non de 1/4h en 1/4 h ?

D'avance merci.

treffy

Bonsoir @Pierre

Quelle réactivité c’est vraiment génial. Bravo.

Je n’ai pas testé l’ensemble des retours mais j’ai vu un petit souci. Suite aux explications sur les qualifications j’ai tout de suite voulu regarder comment cela fonctionnait. Il semble y avoir un problème lorsque l’on bascule avec la liste déroulante de la « 1ère qualification » à « toutes les qualifications » et ainsi de suite sans sortir du UserForm.

Le total de l'effectif pour chaque 1/2h en bas du tableau s’incrémente en gardant (je pense le total précédent) si l’on ne sort pas du tableau.

Exemple : la 1ère fois : choix « 1ère qualification »

image

Si je choisi « toutes les qualifications » (voir total en bas)

image

Si je retourne à « 1ère qualification » (voir total en bas)

image

Je ne pense pas que ce soit un gros pb.

Je regarde le reste mais on touche au but.

Question pratique :

comment construisez-vous le UseForm avec toutes les cellules. Pour des raisons de cellule trop petite pour contenir mes qualifications j'ai voulu élargir cette colonne en poussant un peu vers la droite l'ensemble des cellules blanches des 1/2h, plus la bande des horaires, tenté d'élargir les cases vertes, ... bref c'est un vrai capharnaüm, les cases ne s'alignent plus les unes avec les autres, etc... Je n'y arrive pas.

S'agit-il d'un import d'un tableau construit ailleurs, bougez-vous chaque cellule objet (ce que je ne crois pas), bref comment ?

Merci Pierre

Gaëlle

Sinon, à moins que ce soit paramétrable, la version de 1/4h en 1/4h me va très bien.

Bonsoir,

Gaêlle

Bonjour à tous,

@Gaëlle : en effet une réinitialisation était nécessaire, détail réglé + colonne "Qualif" verte élargie.

Sinon c'est construit simplement avec des copier/coller.

@Treffy : cf version 1/2h, mais j'aimerai bien connaitre la raison de cette préférence d'un découpage par 1/2h.

Pierre

Edit : suppression des fichiers obsolètes

Bonjour pierrep56,

C'est simplement pour rendre plus compacte et lisible l'impression papier du planning.

Merci encore pour ce fichier qui va me rendre bien service.

treffy

Bonjour @Pierre

Merci pour la correction cependant il reste un bug sur l’affichage de la présence des qualifiés lorsque l’on clique sur 1 journée on retrouve tjs le même tableau en fait celui de la 1ère journée de la semaine.

Exemple :

Si clic sur le lundi 29 juin 2020 => voici le tableau

image

Si clic sur le mardi 30 juin 2020 => voici le tableau (le même) alors que d’autres activités sont présentes ce jour

image

Si rien à la journée du lundi 29 juin et si clic sur le mardi 30 juin 2020 => le tableau est vide car plus d’activité sur le lundi 29 juin 2020 alors que mardi 30 juin 2020 est sélectionné

image

Autre remarque : ds le tableau (voir 1er et 2ème screenshot)

  • les zones Absences sont comptabilisées => ce qui n’est pas bon
  • les zones Absences avec motifs comme « vacances, récup, etc. ne le sont pas => ce qui est bien

suggestion : peut-on seulement ne pas comptabiliser les absences quelles qu’elles soient ?

Merci Pierre

Gaëlle

Re-

Bien vu Gaëlle, un oubli mineur suite à mes tests, rectifié ici (sur les 2 versions).
Pierre

Bonsoir @pierrep56,

J'ai pu utiliser le programme dans sa totalité et c'est une vrai merveille ! Merci beaucoup.

J'ai cependant toujours le même blocage qui revient suite à une fiche que j'ai du vouloir créer sans le vouloir et supprimé par la suite de la feuille "Bateaux".

Mon problème est que cette fiche qui ne se trouve plus dans la feuille "Bateaux" rajoute des heures dans le suivi d'un marin en particulier ce qui me fausse le bilan et je n'arrive pas à la supprimer.

Sur ma capture d'écran on peut la voir en transparence derrière la bonne.

Ma question est de savoir si vous avez une astuce pour déboguer si je refais une mauvaise manipulation dans ce genre.

Je suis totalement inculte en code mais je suppose qu'il faudrait rajouter une valeur nulle dans ce genre là :

.ComboBox1.Value = Tuf(quelque chose,3)

Je n'ose plus toucher le fichier car j'ai enfin repris tout le planning de l'année

Si vous n'avez pas de solution pour corriger sans tout devoir recommencer je referai le remplissage du planning.

Merci d'avance et bonne soirée.

erreur croisieres v06 erreur d execution 9 croisieres v06

Bonjour à tous,

@VincentCMC : pour bien faire, il faudrait nettoyer "à la main" les onglets de données, pour cela :

  • faire une copie du fichier pour la mettre en sécu. Ensuite :
  • afficher l'onglet "Bd_Marins" (clic droit sur un onglet quelconque puis Afficher/Bd_Marins)
  • repérer la ligne correspondante à la date et heures du 28/06/2020 10h00 (ou 10h30?) ET au marin "Paul"
  • supprimer cette ligne

Une fois cette opération menée, il ne devrait plus y avoir d'erreur.

/!\ RQ : ne surtout pas changer la ligne .ComboBox1.Value = Tuf(2, 3), l'erreur est en amont du fait de données probablement incohérentes

Bonne manip

Pierre

Bonjour @Pierre,

voilà votre "beta testeur" du jour.

Tout d'abord merci beaucoup pour le super travail réalisé. BRAVO

Juste 2 suggestions pratiques d'ergonomie :

  • comme on résonne semaine ds les onglets "Global" et "Individuel" serait-il possible lorsqu'on utilise le calendrier (permettant de vérifier une semaine) de positionner l'affichage des onglets sur celle qui nous intéresse en cliquant sur n'importe quelle jour de cette semaine. Ce serait vraiment super et pratique pour bien se repérer ds les mois, l'année.
  • peut-on également afficher le calendrier un plus gros car peut-être cela vient de mes yeux mais je suis obligée de zoomer pour lire le n° de semaine.
calendrier

Merci encore

Gaëlle

@Gaëlle (testeur pas si béta) : toutes les bonnes idées, je valide! Une réelle plus-value pour la navigation d'une semaine à une autre!

demo test

3 lignes de code en + et le tour est joué (pour un clic sur un "gros" n° de semaine)

Pierre

Bonsoir @Pierre,

Un message pour dire que ça fonctionne plutôt pas mal, grâce au Maître Excel Pierre. Si si, on peut le dire. Chapeau

  • Une remarque toutefois sur un pb qui peut être gênant : avec la possibilité intéressante de dupliquer sur +1,2,3,4 semaines il arrive parfois de dupliquer sur des semaines déjà renseignées créant des items en double ds « Bdd » sur la personne, le jour, la durée d’activité. Le Résultat => il y a superposition d’activité sur les plannings. Je ne mets pas d’exemple car il est facile de générer le même scénario.

Peut-on être averti pour soit refuser ou accepter la duplication ou mise à jour et si acceptation supprimer les items avant ds « Bdd ».

C’est peut-être ardu comme programmation d’autant que les duplication se fait sur le planning d’une semaine entière.

  • Une question technique : sur un message précédent concernant la création d’un tableau ds un UserForm (cf celui des dipos des personnes qualifiées, diplômés, etc.), votre réponse « Sinon c'est construit simplement avec des copier/coller ». Eh bien avec la meilleure volonté du monde je n’y arrive pas. Le Coller est grisé si je souhaite coller un tableau de le userform lui-même.
    Doit-on utiliser les propriétés du UserForm ?

Sans demander un cours magistral, j’ai besoin de plus d’info. Bref comment fait-on ?

Merci encore

Gaëlle

Bonjour à tous,

@Gaëlle : voici une image démo de copier/coller pour obtenir une grille

demo copiercoller

Pour le 1er point, je verrai ça plus tard après mes rdv du jour (et j'en ai beaucoup!)

Pierre

Bonjour @Pierrep56,

Merci pour les explications ! Tout marche vous êtes au top

Bonne journée et bonne continuation ! Encore merci beaucoup.

Rechercher des sujets similaires à "planning hebdomadaire vba"