Message d'erreur sur calcul d'horaires journaliers
Bonjour
Je suis en train de me battre avec des formules sur les horaires.
Je m'explique :
J'ai réussi à matérialiser par des messages que la personne a fait trop d'heures sur une journée :
- plus de 10 heures de travail
- une amplitude horaire supérieure à 12 heures
Par contre cela n'empêche pas de terminer la saisie.
Je souhaite savoir s'il est possible de supprimer automatiquement la saisie de fin de journée (col H) lorsqu'il y a un des dépassements ci-dessus.
Merci pour vos contributions sur cette problématique RH.
Cordialement
MARDEL
Bonjour
Avec une Valdation de données en colonne H, tu peux empêcher la saisie si un des critères n'est pas rempli
Exemple en H6
Formule de validation de données
=ET(($H6-$E6)*24<=12;((F6-E6)+(H6-G6))*24<=10)=VRAICordialement
Merci Amadéus (comme Mozart : un virtose !!)
Cela fonctionne sauf lorsqu'il y a une journée continue sans coupure à midi : par exemple en ligne 10 (le vendredi 5)
Dans ce cas le message ne s'affiche pas et la saisie 'erronée' est possible.
Et je suis incapable d'écrire la formule ad'hoc dans Validation de données.
PS : j'ai créé un message d'erreur.
Merci d'avance
MARDEL
Bonjour à tous,
Ce sujet est intéressant, alors voici ma proposition :
* un onglet de configuration pour la liste des salariés (on peut attibuer une couleur pour chacun, comme on veut), et 3 indicateurs de limites :
- limite du nombre de postes maxi par jour
- limite du nombre d'heures maxi par jour
- limite de l'amplitude maxi par jour
* un planning mensuel individuel avec :
- des boutons/listes pour naviguer d'un mois à un autre
- une liste déroulante pour choisir le salarié
- une saisie par sélection de cellule (voir image animée)
- calcul du total d'heures journalier et mensuel
- calcul de l'amplitude journée et maxi mensuelle
* Lors de la saisie, 4 contrôles sont faits : disponibilité sur le créneau horaire et vérif de dépassement des 3 limites
=> pas de saisie possible si un de ces 4 contrôles n'est pas ok avec message d'avertissement
* Les info sont enregistrées dans l'onglet "Bdd" (ne pas effacer la première ligne d'info Id=0)
Avec mes tests, il me semble que ça fonctionne.
Pierre
Bonsoir pierrep56
Ta proposition est superbe mais elle est un peu compliquée car sur le fichier que je gère il n'y a que 4 personnes et on a un onglet par mois.
D'autre part, j'ai mentionné maxi 10 h de travail sur une journée et j'ai réussi à saisir 10h15 sans avoir de message d'erreur.
Je te remercie de t'être penché sur ma problématique.
Cordialement
MARDEL
Bonjour à tous,
En effet, un petit réglage à faire.
Voici une version qui corrige ce défaut de limite maxi (un cas de figure oublié)
Sinon avec ma proposition, un seul onglet suffit puisqu'on peut naviguer d'un mois à un autre sur le même onglet.
Et on peut augmenter ou diminuer comme on veut la liste des salariés sans autre modif.
Pierre
Bonjour pierrep56
Merci pour la correction.
J'ai essayé d'apporter quelques minimes modifications mais çà bugue :
Je voulais élargir les colonnes ( à 3) entre 7h et 20h mais le résultat est que les créneaux inscrits sont décalés à droite (j'avais aussi masqué les heures avant 7h et après 20h mais le résultat est le même.
L'écran débogage apparaît avec :
Else
Ajout_Histo Tg, Target.Row, idx, 2
.Range("A" & lg).Resize(1, 7) = Tg
Et moi le VBA
J'ai aussi une question :
- pourquoi la colonne 7h30 est jaune et la colonne 12h est grise ? je n'ai pas réussi à modifier mais je n'ai voulu 'casser'
Cordialement
MARDEL
Ok,
Alors voici une version qui autorise le redimensionnement des colonnes, soit :
- masquer les colonnes de 0h00 jusqu'à l'heure de début de journée (au choix)
- masquer les colonnes de fin de journée (au choix) jusqu'à 24:00 (0:00)
- fixer une valeur quelconque uniformément pour la largeur des colonnes des heures restantes visibles.
Sinon, la colonne de 12:00 est grise pour indiquer simplement la mi-journée.
Et une colonne se colore en jaune pâle en fonction de l'heure à laquelle on active l'onglet du planning => par exemple 7:30 s'il était entre 7h30 et 7h59 au moment ou le fichier a été ouvert
Sur l'image animée plus haut, il était entre 14h00 et 14h29.
Simple indication visuelle de l'heure courante à 1/2h prés.
Pour enlever cette coloration automatique, voir dans "mise en forme conditionnelle"
Nb : Si autre modif de la structure de la grille du planning (ajout/suppression) de lignes et/ou de colonne), il est probable qu'il soit nécessaire de faire des modif également dans le code.
Pierre
Bonjour pierrep56
J'ai essayé d'adapter le fichier que tu as bien voulu me communiquer au fichier qui gère la totalité des horaires mais j'ai eu des problèmes de bug.
Par exemple j'ai rajouté les onglets :
- Horaires : ceux qui correspondent au contrat de travail
- BH (banque d'heures) ce qui permet de comptabiliser les écarts entre le contrat de travail et les horaires effectivement faits
J'ai eu un message :
Communiquer le fichier Log.txt à PierreP56
Donc je te communique le fichier modifié
Ensuite il me restera à effectuer le comptage des heures à partir de Bdd et les reporter dans les colonnes D-J-P-V de BH.
PS : j'ai modifié les prénoms, masquer la ligne 2 pour éviter de l'effacer et effacé les saisies effectuées.
Je joins le fichier modifié.
Le message indique :
Communiquer le fichier Log.txt à PierreP56... Log.txt ...
Je pense qu'il y a un gros problème de communication entre nous :
- Quand un message indique "Communiquer le fichier Log.txt à PierreP56" => j'attends un fichier Log.txt
- Quand j'indique : si autre modif de la structure ..., et que des modif ont été faites :
1/ onglet protégé inutilement
2/ ligne masquée inutilement
=> ça ne peut pas être bon
En bref, à l'évidence, nous ne sommes pas sur la même longueur d'onde => on ne pourra pas avancer en restant constructif.
La suite sera sans moi.
Bonne suite pour votre projet.
Pierre
Ah j'avais pas vu que ça avait créé un fichier Log.txt sur le mon ordi.
Donc je t'envoie le fichier mais j'ai vu que ça correspond à des cellules que j'ai protégées (sans MdP)
Est-ce que ça veut dire qu'on ne peut pas protéger des cellules ?