Planning Hebdomadaire VBA

Bonjour pierrep56, bonjour le forum,

Merci beaucoup pour cette nouvelle mouture du classeur qui intègre bien l'affichage par qualification. Personnellement, je trouve cela absolument génial !

Effectivement vous avez raison, il s'agit d'une mise à jour plutôt lourde car finalement ajouter une seule colonne implique une refonte de vos nombreux codes qu'il faut reprendre lignes par lignes. Encore une fois, vous avez répondu présent et je vous remercie vivement.

Après quelques essais de cette version test, il apparait malgré tout certaines imperfections.

• L'affichage des noms par plages modifiables (1 à 10 - 11 à 20 - ...) se répète à la troisième page, déborde en toute fin de planning puis ne marche plus après cette troisième page. Je vous ai réalisé une série d'images animées très parlantes qui illustrent bien les problèmes.

exemple9

• Un bug survient assez souvent lors de l'affichage du UserForm du comptage des présences (cf => 2ième image ci-dessous).

exemple10

• Un petit défaut dans l'onglet "Bilan", colonne P, lors de la sélection de l'affichage des heures en centièmes d'heures par le CheckBox1, si je corrige l'affichage de toute la colonne en heures (13:30 dans les formats), c'est alors l'affichage en dixièmes qui devient défaillant. Je n'ai pas trouvé la parade.Concernant cet onglet, est-il possible de proposer un décompte des heures effectuées à la semaine mais également au mois comme actuellement (OptionButton par exemple).

• Il peut être dangereux de descendre en dessous de trois lignes lors de l'utilisation du bouton moins. En ré-augmentant le nombre de lignes, l'affichage devient totalement anarchique. Je n'ose imaginer la situation provoquée par un collaborateur-utilisateur maladroit...Est-ce paramétrable ?

Je ne doute pas que vous corrigerez avec brio ces "coquilles", et je vais peut-être me répéter mais merci beaucoup pour votre générosité car le travail que vous réalisez est juste énorme.

Très bonne journée à vous, à vous tous également du forum, et à bientôt !

AL

Bonjour à tous,

En effet, quelques réglages mineurs à faire + quelques "sécurités" à mettre en place.

Pierre

Bonjour pierrep56, bonjour le forum,

Un petit retour à l'atelier pour deux petites réparations (cf : animation ci-dessous pour les deux problèmes) :

• Bien vu pour le blocage à 5 lignes des noms, cela fonctionne, mais en cas de sélection d'une qualification, l'affichage des "pages" continu lorsque l'on "change de page".

• L'affichage du "Usf_Cpte" ne décompte plus les présences de 19h00 à 20h00.

exemple11

Grosse question à ce sujet : l'amplitude horaire qui est la nôtre va de 6h00 à 22h15 et toujours au 1/4 d'heure. Pas de problèmes pour les feuilles "Global" et "Individuel", mais pour ce UserForm (Usf_Cpte) c'est très compliqué (impossible même...).

Que pouvez vous faire pour moi ?

Bonne journée à vous.

AL

Bonjour à tous,

Alors à nouveau quelques réglages + amplitude sur 24h maxi :

  • Heure de début de journée toujours configurable en E7 (ici 7:00)
  • Si trop d'amplitude, masquer les colonnes inutilisées à droite (via Affichage/En tête)
  • Visuel du comptage sur les 24h via scroll
  • Et défaut toujours possible, mais correction peut être

Pierre

demo activites scroll

Edit : suppression du fichier (défaut Bilan)

Bonjour à tous,

Correction d'un défaut (Bilan)

Pierre

Edit de 13h00 : version "b" du jour, correction d'un 2ème défaut (contrôle de disponibilité)

edit de 19h30 : suppression version b qui avait des défauts =>cf version c plus bas

Bonjour pierrep56, bonjour aux membres du forum,

C'est un travail gigantesque que vous avez accompli et je vous en remercie beaucoup.

Vous réglez le problème récurent des amplitudes horaires et ainsi le classeur "activite-16juil2020-b.xlsm" (version b) servira au plus grand nombre.

Mais d'entrée un bug sur la copie des semaines (bouton Dupliquer) empêche de s'en servir convenablement...

exemple12

Je ne doute pas un instant qu'une version corrective sera en ligne prochainement.

Merci encore.

AL

Bonsoir à tous,

2 corrections pour cette version "c" du jour, pour la fonction "dupliquer" :

  • meilleur positionnement de la fenêtre de choix (1/2/3/4)
  • copie correcte

Pierre

Bonsoir @Pierre,

Eh oui de retour après un moment d’absence. Je vois sur le forum que les évolutions continuent pour améliorer l’application qui est de mieux en mieux. Bravo

Pour ma part, tjs ds l’hypothèse de gérer mes vacances et tps de récupération, je souhaite juste avoir votre vision et conseil d’expert.

Postulat (ds mon cas) :

  • les vacances se prennent par journée entière et non par demi-journée par exemple, ce qui implique que le symbole « Vcs » ds la colonne absence de Bdd » suffit à identifier les jours de Vcs en les comptant par exemple. Une ligne avec Vcs implique 1 jour qu’on peut cumuler
  • les Récup sont visibles aussi ds la même colonne et en plus j’ai le tps de récup ds la colonne « Durée » de « Bdd » donc on peut cumuler les tps de Récup

J'en ai même fait un tableau récap pour une vision semaine

vision semaine

Jusque-là pas de pb. Là où ça se corse pour moi c’est conceptuellement comment je peux imaginer faire vivre ses 2 compteurs (compteurs Vcs et Récup) au fil des semaines pour savoir combien il me reste de Vcs et de tps de récup et alerter si je venais à dépasser ce qui est permis.

J’ai pensé initialiser pour chaque personne une case Vcs et tps de récup ds l’onglet de config « Cfg ». Seulement comment, en partant de ces 2 paramètres décrémenter :

- les jours qu’il suffit de compter par période si on le souhaite => à l’aide de a)

- le tps de Récup qu’il suffit de cumuler par période si on le souhaite => à l’aide de b)

sachant l’on peut supprimer, revenir sur une semaine précédente et créer en ajoutant des Vcs et/ou du tps de Récup ou modifier le tps de récup (le tps de Vcs m’importe peu puisque ds le postulat une journée = 1 Vcs). On peut également dupliquer sur 1, 2, 3, 4 semaines ds le futur.

Bref avec tout ça je ne sais pas où placer ces compteurs et les faire vivre (pas sur chaque ligne correspondante de « Bdd » en créant une colonne compteur que je décrémenterai en comptant les Vcs et Récup => voir a) et b)) puisque l’ordre des lignes change selon que l’on crée, modifie ou supprime des lignes ds « Bdd » ce qui interdit de reprendre le compteur qui serait en ligne n-1. Et quid des suppressions de Vcs et Récup sur ces compteurs qu’il faudrait recréditer.

Comment les rendre visible à la semaine, au mois, à l'année pour savoir où on en est et comment être alertée si dépassement du seuil ?

Voilà mes interrogations auxquelles je m’efforce de trouver des réponses mais pour être honnête je me fais des nœuds au cerveau car je ne vois pas trop comment faire.

En espérant une fois de plus avoir été la plus claire possible. Je sollicite votre œil et aide d’expert pour me donner des pistes

Merci encore

Gaëlle

PS : comment fait-on des animations qui sont très utiles pour donner des explications. Utilitaire, autre chose, etc.

Bonjour pierrep56, bonjour le forum,

La dernière version du classeur semble aboutie. Merci pour toutes vos corrections.

Seul bémol, si l'on change l'entête de la colonne "B", feuille "Cfg", l'affichage de "Usf_Cpte" reste vierge.

De plus l'affichage du compteur de présence n'étant pas calé sur les tranches horaire au 1/4 d'heure, celui ci n'est pas strictement exacte.

Je joins un petit exemple dans l'animation ci après (@GaelleNewAquit : utilitaire LICECAP).

exemple13

La masse de travail pour corriger cet écart représentant un temps non négligeable, il n'est pas urgent de la réaliser maintenant. Peut être qu'un jour, dans une autre version...en fonction des demandes...Qui sait...

Petit défaut aussi, si l'on "tire" une période allant de 7h00 à 7h00 le lendemain, il y a un bug compréhensible sur la ligne : .SpinButton2.Value = (IIf(Hdeb + T(2, 5) * 24 >= Hr0, 0, 24) + Hdeb + T(2, 5) * 24 - Hr0) * 4 de la macro "Fiche" du module "Accueil".

Je ne pense pas qu'il y ait beaucoup de personnes dans ce cas, mais sait-on jamais.

Bref, en tout cas merci pour vos efforts à réaliser le meilleur, mais pour moi ce classeur est idoine !

Bonne journée à vous, bonne journée à tous.

AL

Bonjour à tous,

@Tous => voici la version de ce matin qui corrige une myriade de petits défauts divers + ou - gênants. Il me semble que c'est plus stable, mais on ne sait jamais ...

RQ : Pour les versions "amplitude 24h" et pour des raisons pratiques, les données sont enregistrées différemment : date_heure_début + durée (et non plus date_heure_début + date_heure_fin)

@Gaëlle =>

  • Pour les gif animés j'utilise LICEcap (gratuit) et il y doit en exister d'autres similaires.
  • Pour les décomptes ou bilans un peu spécifiques, je préfère utiliser des fichiers externes qui lisent les données des tables Bdd et Cfg (via ma fonction générique "Select_Db" ... qu'on-ne-doit-pas-modifier ...)
  • Un exemple joint ici "Exemple_recup-activités.xlsm". Le 1er clic sur un bouton demande le fichier sur lequel pointer, ensuite on récupère la liste des nom ou des info contenues dans les données.
    Rq : ce fichier n'a pas l'objectif de faire un vrai bilan, c'est juste une démo de code, il suffit ensuite d'écrire une requête valide et qui a du sens pour ce qu'on veut en faire.

@Al => pour le décompte à la 1/2h, il y a en effet un léger décalage dû au 1/4h, mais il y avait des choix à faire. Ca restera en l'état.

Bon week-end à tous
Pierre

Bonjour pierrep56, bonjour le forum,

Dans la série de tests réalisés sur le dernier classeur que j'ai téléchargé (activites-16juil2020-c.xlsm), je ne m'étais pas aperçu de certains affichages non conformes que je détaille ci dessous :

• Usf_Cpte : lors du chevauchement de périodes (bouton Dupliquer), les dates relevées ne sont pas les dates saisies (30/12/1899 Source et Cible).

• Onglet "Bilan" : en activant le bouton "Absences", des dates négatives empêchent la lecture des informations.

Les mêmes défauts existent sur la version activites-18juil2020.xlsm.

Question : est-il possible d'associer au "Bilan", un compteur basé sur les semaines, en plus des mois comme actuellement pour les heures travaillées.

Nous travaillons à la semaine notamment pour les payes, et ce serait ainsi plus simple avec ce décompte.

Merci beaucoup pour ce précieux classeur.

Bonne fin de journée à tous.

AL

Bonsoir @Pierre,

Tjs ds ma gestion des Vcs et autres compteurs je progresse mais là je tombe sur un Pb que je n'arrive pas à solutionner et j'ai besoin d'une aide d'expert sur un formule matricielle qui est censée cumuler l'équivalent tps de la journée considérée lorsque je trouve "Vcs" ds des cases venant de "Bdd"

J'ai décomposé la formule matricielle : {=SOMME(SI($I7:$AM7="Vcs";INDEX(Tab_nb_heures_jour;EQUIV($A7;personnel_nb_heure_jour;0);EQUIV(TEXTE($I$3:$AM$3;"jjj");jour_semaine_court;0));""))} du mieux que j'ai pu pour rendre explicite mon pb, voir exemple fourni. Je n'obtiens pas le résultat escompté ???

J'ai joint un fichier light avec "Cfg", "Bdd" et "Calendrier mois" où trouver le détail de la formule

En espérant avoir été claire.

Merci d'avance @Pierre pour l'aide sur une formule qui fait "papa maman". J'en ai déjà fait des comme celle-ci mais décidément avec moins de difficulté.

Gaëlle

Bonjour à tous,

Voici la version du jour corrigeant le défaut d'affichage de "Dupliquer".

Sinon, pour les décomptes divers d'heures hebdo et de congés divers, voici comment je procède habituellement (via Vba, car je ne suis pas du tout un cador en formule) :
* un fichier externe (ici avec 3 onglets)

* un premier onglet "Cfg" avec un bouton "Recup noms" pour pointer sur un des fichiers "activités.xlsm". Une fois que les noms et diverses entêtes sont aspirés, on inscrit par exemple en I J K les divers quotas annuels et/ou hebdo (avec en ligne 3 les diminutifs utilisés dans "activités.xlsm"

* 2 onglets de lecture : un pour les présences hebdo l'autre pour les absences, avec :
- l'année en A1 - un bouton de recup des données
- une recherchev simplette pour lire la donnée des quotas de "Cfg"
- une MFC simplette pour colorer, par exemple ici, en jaune pâle la cellule tant que le quota n'est pas atteint

capture recup hhebdo

(ici 30, 31, 32, 33 ... sont les n° des semaines, et les colonnes suivantes ont été masquées pour afficher les quotas sur la même image)

capture recup abs

Rq : dans cet exemple les congés (pour lesquels j'utilise le diminutif CP pour congés payés) sont calculés en total d'heures ET en total de nombre (pour avoir le choix selon les habitudes de chacun) Après si besoin, c'est pas compliqué d'adapter les requêtes Sql pour coller aux habitudes.

Nb : cette récup se fait sur les versions "activités" avec Date_heure_début + Durée

Pierre

Ok merci @Pierre je vais regarder ça et essayer de l'adapter.

Merci encore pour la rapidité et la créativité.

Gaëlle

Bonjour à tous

@Gaëlle : pour les versions Date_heure_Début + Date_heure_Fin, il suffit de remplacer B.`Durée` par B.`Fin`-B.`Début` (à plusieurs endroits du module Sql)

Pierre

Bonsoir @pierre,

ok je vais voir les transfo à faire. Merci

Juste un pb : j'ai déjà pas mal modifié la version et je ne peux plus adapter la dernière version avec extension des heures et curseur horizontal du UserForm Usf_Cpte sans faire de casse, d'autant qu'il faudrait aussi que je change les onglets "Global" et "Individuelle" alors là ce serait la cata.

Alors comme 20h00 ou 21h00 me vont bien en butée de journée je garde la version d'avant (celle du 12/07). Par contre j'ai un pb d'affichage de la prise en compte des activité après 19h00 (ou 20h00 si début à 7h00) et même un planté si je pousse jusqu'à 20h00 (ou 21h00 si début à 8h00).

J'ai mis une animation montrant le pb. Alors SVP pouvez-vous juste m'aider à transformer le code et me communiquer les modifs nécessaire ça me permettrait

  • d'afficher des 1 correctement après 19h00 ou 20h00
  • ne plus avoir le planté si butée 20h00 ou 21h00

Je ne pense pas que ce soit très compliqué mais pour ma part je n'y arrive pas et ça me rendrait un service immense

Merci encore @Pierre pour le coup de pouce

Gaêlle

pb cpte licecap

Oups l'animation ne semble pas fonctionner, alors que si j'ouvre le Gif crée avec LICECap ça fonctionne

Comment l'inclue t-on ds le message car j'ai choisi image et du coup pas d'animation ?

Merci

Heum, heum ...

La version du 12/07 contenait beaucoup d'imperfections, des p'tites choses par-ci par-là : indice incorrect ici, mauvaise ref là, numérotation erronée ailleurs ...

Exemples :

  • dans "Remplissage_Grille", redim R en 49 => ReDim R(1 To UBound(CptJ, 2), 1 To 49)
  • du coup la boucle va jusqu'à 47 => For j = 0 To 47
  • oui mais dans l'Usf_Cpte il y a une erreur de numérotation de label, de 240 à 255 ça devrait être 201 et suivants
  • oui mais il existe déjà une série à partir de 209 utile ailleurs. Il faut donc renuméroter cette série.
  • oui mais le code qui va avec sera à modifier en fonction de la numérotation choisie => cf boucle de UserForm_Initialize
  • oui mais ...

Le 18/07 je parlais de "myriade de petits défauts divers"? C'est de ce genre.

Au final clairement je ne me sens pas d'assurer la maintenance des anciennes versions alors que la dernière mouture du 21/07/2020 me semble plus fiable et plus stable.

Et s'il s'agit de copier/coller les données anciennes dans la nouvelle version, il suffit de transformer les date_heure_fin (colonne E) en durées soit = date_heure_fin moins date_heure_début

Pierre

Ok je comprends les modifs en cascade. Je ferai une 2ème release en adaptant la nouvelle version. Merci

Par contre quid de ma question sur LICECap et la non animation de mon Gif une fois inclus (en image) La réponse m'intéresse pour la suite car très parlant pour montrer qqc.

Oups l'animation ne semble pas fonctionner, alors que si j'ouvre le Gif crée avec LICECap ça fonctionne

Comment l'inclue t-on ds le message car j'ai choisi image et du coup pas d'animation ?

Merci

Merci pour tout

Gaëlle

Pour insérer un gif animé, cf gif animé du gif animé

demo gif anime
Rechercher des sujets similaires à "planning hebdomadaire vba"