Création d'une macro

Bonjour,

Je souhaiterai créer une macro pour me calculer le nombre de personne en pause selon des tranches horaires.

Actuellement j'utilise une formule en la modifiant, après plusieurs mois d'essai j'aimerai l'automatiser en cliquant sur un bouton pour me calculer l'effectif total, la 1ere pause, 2nde Pause, pause dejeuner

Merci d'avance pour votre aide.

Sisizou

5projet.xlsx (14.62 Ko)

Bonjour,

et pourquoi tu la modifies la formule ?

eric

5projet.xlsx (16.29 Ko)

Tout d'abord, merci pour votre aide.

Je dois modifié ma formule selon le nombre de personne que j'ai.

Exemple:

En rajoutant un salarié sous le Nom de "R", celui-ci ne serait pas comptabilisé car la formule s'arrête à la cellule C20.

Je dois mettre C21, chaque jour le nombre de personne peut changer.

Merci d'avance.

Sisizou

2projet.xlsx (14.73 Ko)

Déjà tu aurais pu reprendre le fichier que je t'avais mis où j'ai corrigé des erreurs.

As-tu au moins vu que j'ai viré tes 15h40 pour les remplacer par des vraies heures excel : 15:40 ???

Si tu ne les saisis pas comme excel le veut, il verra du texte et ne les prendra pas en compte

As-tu contrôlé dans le détail le résultat des formules pour les valider ou pas ???

En rajoutant un salarié sous le Nom de "R", celui-ci ne serait pas comptabilisé car la formule s'arrête à la cellule C20.

Je dois mettre C21, chaque jour le nombre de personne peut changer.

Pourquoi ne pas exposer toutes tes difficultés dès le début ?

Si tu déclares ta plage en Tableau (menu Insertion) ça facilite. Par contre oublie la fusion des cellules inutiles, ça gène souvent..

Dès que tu démarres une nouvelle ligne (sans en sauter) le Tableau s'agrandi et les formules (qui ont légèrement changé) s'adaptent automatiquement.

eric

6projet.xlsx (16.29 Ko)

Bonjour Eric,

Pour le fichier, je me suis trompé de choisir le bon car il avait le même nom.

C'est en analysant votre fichier que j'ai constaté que les résultats étaient bon mais en rajoutant des personnes le résultat était erroné.

C'est pour cela, que je n'ai pas pu vous exposer mes difficultés.

Ma question est la suivante:

Comme c'est une tâche quotidienne, serait-il possible de l'automatiser avec une macro.

Merci encore pour votre aide.

Sisizou

et si tu testais le dernier avant de demander une macro ?

Je viens de tester le fichier avec un nombre plus important de personne.

J'ai constaté qu'il manquait des pauses et que certaine tranche horaire était erroné.

A l'heure de "16:00" pile il me comptabilise une seul personne en pause alors qu'il y deux personnes.

J'ai également remarqué qu'il ne me comptabilisait pas dans ma première pause de la ligne C21 à la ligne C25.

En reprenant la formule communiqué, =SOMMEPROD(($C$4:$C$20<=$J3)*($D$4:$D$20>=$J4)),

Celle-ci s'arrête à la ligne C$20 et D$20, en modifiant la formule C$25 et D$25, elle peut être comptabilisé.

L'objectif du projet est de ne modifier aucune formule car mes collègues ne sont pas à l'aise avec Excel.

Bien à vous.

Sisizou

Le dernier fichier et bien... c'est le dernier

Celui que j'ai complété suite à ta demande d'ajout de lignes. Celui de 23:41

Sur le tien revalide le 16:00 en J si tu veux en avoir 2.

Les heures sont assez sensibles aux erreur d'arrondis qui ne se voient pas toujours.

(mais après tu le jettes !)

Eric

Sauf erreur de ma part même en reprenant le fichier de 22h41 celle-ci me détecte les anomies remontés dans mon précédent message.

Je viens de le re télécharger et même constat.

Avez-vous vous même essayer en rajoutant une ligne si celle-ci est comptabilisé dans le fichier de 22h41.

Bien cordialement

Sisizou

pas de pb j'ajout de ligne pour moi :

2018 06 08 23 25 34

Pour le 16:00 c'est ce que je t'ai expliqué au post précédent

En J28 Tu n'y as pas 16:00 mais 16:00 - 6.66134E-16.

Pour t'en persuader dans une cellule met =J28-"16:00"-0 et remet le format Standard.

Tu as dû utiliser une formule ou la recopie incrémentée pour générer ta liste d'heures.

Ca génère des toutes petites erreurs invisibles, mais suffisantes pour tromper les tests.

Si tu revalides ton 16:00 en J28 et tu liras 2.

Par sécurité met des arrondis à chaque valeur. Ex en L :

=SOMMEPROD((ARRONDI(Tableau1[Début];7)<=ARRONDI($J4;7))*(ARRONDI(Tableau1[Fin];7)>=ARRONDI($J5;7)))

Par contre demain je vais contrôler des plages, mais celles avec du sable.

Si tu as encore des soucis redémarre une nouvelle question, les topics bien entamés sont moins regardés.

eric

Rechercher des sujets similaires à "creation macro"