IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Classeur : nombre d'heures 2014 - Décompte heures pour tous les salariés (1 Feuille = 1 mois) [XL-2013]


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Classeur : nombre d'heures 2014 - Décompte heures pour tous les salariés (1 Feuille = 1 mois)
    Bonsoir,
    Merci d'avance pour votre attention.
    Il s'agit du récapitulatif des heures sur l'année complète. les absences également.

    Vous trouverez en PJ mon classeur :

    Alors dans la feuille "Décompte heures Janvier":
    1 - regardez les heures Normales des semaines 2 à 5 : bien que je saisisse 35:00 dans la barre des formules j'ai ceci : 01/01/1900 11:00:00 pourquoi ?

    2 - on va se concentrer sur les cellules N7, ma formule est : =SI(L7>43;8;L7-M7) je pensais avoir 4:00 mais non J'ai 10:00 pouquoir ?

    3 - puis O7 je voudrais faire =SI(L7>43;L7-M7-8;0) idem résulta zéro !!!


    Enfin une fois mes calculs terminés, j'aimerai générer à partir de la feuille "janvier" comme exemple et générer automatique les feuilles pour les 12 mois.
    Quand je dis automatiquement, c'est sans faire le copier/coller et modification de nom. (je suppose que cela doit être de la programmation - j'en ai jamais fais !)

    Encore Merci
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Bonjour,

    1 - regardez les heures Normales des semaines 2 à 5 : bien que je saisisse 35:00 dans la barre des formules j'ai ceci : 01/01/1900 11:00:00 pourquoi ?
    C'est souvent le cas avec les heures au delà de 24:00. Est-ce un problème ?

    2 - on va se concentrer sur les cellules N7, ma formule est : =SI(L7>43;8;L7-M7) je pensais avoir 4:00 mais non J'ai 10:00 pouquoir ?
    D'après la formule si L7 (45:00) est plus grand que 43 (lire 43:00 ???) alors '8'. '8' quoi ? Si 43 représente des heures, tu devrais utiliser TEMPS(43;0;0) dans ta formule. Si c'est dans le bon ordre?, tu devrais avoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(L7>TEMPS(43;0;0);TEMPS(8;0;0);L7-M7)
    3 - puis O7 je voudrais faire =SI(L7>43;L7-M7-8;0) idem résulta zéro !!!
    Même chose, n'est-ce pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(L7>TEMPS(43;0;0);L7-M7-TEMPS(8;0;0);0)

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par QuestVba Voir le message
    C'est souvent le cas avec les heures au delà de 24:00. Est-ce un problème ?
    non effectivement je voulais principalement savoir si je faisais des erreurs
    Citation Envoyé par QuestVba Voir le message
    D'après la formule si L7 (45:00) est plus grand que 43 (lire 43:00 ???) alors '8'. '8' quoi ? Si 43 représente des heures, tu devrais utiliser TEMPS(43;0;0) dans ta formule. Si c'est dans le bon ordre?, tu devrais avoir
    oui 43 heures oui 8 heures
    Citation Envoyé par QuestVba Voir le message
    Même chose, n'est-ce pas
    cela fonctionne pour L7 mais dès que je recopie la formule en L5 OU L13; C'est toujours 8:00 (8heures sup) alors que je devrai avoir respectivement 4:15 (4h15) ou 6:30 (6h30)

  4. #4
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Hello, Je pensais bien que c'était pas juste. J'avais marqué cet indice

    Si c'est dans le bon ordre?, tu devrais avoir ...
    Donc, on est d'accord pour écrire en N7 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(L7>TEMPS(43;0;0);L7-M7;TEMPS(8;0;0))
    Donc, en résumé,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SI(test_logique; [valeur_si_vrai]; [valeur_si_faux])

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Bonsoir,
    Merci pour votre réactivité !

    non Non c'est bien dans le bon sens.

    MAis en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    N10 =SI(L10>TEMPS(43;0;0);TEMPS(8;0;0);L10-M10)
    L10=35h (heures récupérées dans la feuille "calendrier annuelle"
    donc test faux alors L10-M10 SOIT 35-35 donc je devrais avoir zero comme résultat. Mais ce n'est pas le cas j'ai 8 comme résultat.

    j'ai mis le fichier en P.J.
    Fichiers attachés Fichiers attachés

  6. #6
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Hello,

    Bêtement ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(L10>"43:00";TEMPS(8;0;0);L10-M10)

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Bonjour
    c'est sûr quand on a la tête dans le guidon !
    c'est tellement simple, malheureusement il y a un mais en N7 =SI(L7>"43:00";TEMPS(8;0;0);L7-M7), résultat = 10:00

    si je mets N7 =si(L7>TEMPS(43;0;0);TEMPS(8;0;0);L7-M7), là j'ai bien 8:00

    ====> la deuxième solution est juste !

    Comment faire car ma formule ne fonctionne pas de manière logique je suis obligée de vérifier !

    Il doit bien y avoir une formule qui réponde favorable à tous les cas ! non ?


    En attendant merci pour votre aide

  8. #8
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    L'unité utilisée par Excel étant le jour et non l'heure, le réalisateur de la feuille Calendrier annuel avait su multiplier le nombre de jours ouvrés dans une semaine non par 7 (7h par jour)
    mais par 7/24 (1h = 1/24 jour d'où 7h -> 7/24).
    Dans le premier classeur Corrigés Relevé d'heures absences.xlsx , dans la feuille Décompte heures Janvier , il suffirait de corriger la formule en N7 en remplaçant =SI(L7>43;8;L7-M7) par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(L7>43/24;8/24;L7-M7)
    pour avoir déjà quelque chose de proche d'une formule résolvant le problème (il reste un autre ennui dont je reparlerai ensuite).
    Remarque : 8/24 peut bien sûr se simplifier en 1/3.
    De même, en O7, on remplacera =SI(L7>43;L7-M7-8;0) par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(L7>43/24;L7-M7-1/3;0)
    et là, on a une formule définitive.
    Remarque : L'autre solution est bien sûr la fonction TEMPS proposée par QuestVba.
    Revenons sur la première formule pour les heures supplémentaires à 1,25. Toujours dans le classeur Relevé d'heures absences.xlsx, dans la feuille Décompte heures Janvier, en J5, la formule serait après correction : =SI(H5>43/24;1/3;H5-I5) mais on aurait toujours l'affichage ###### montrant que la réponse obtenue est négative puisque la durée 00:00 écrite en H5 est inférieure à la durée 35:00 en I5.
    Il y a donc un autre test à faire : Si H5 > I5 , calculer H5-I5 sinon 0; d'où deux formules possibles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(H5>43/24;1/3;SI(H5>I5;H5-I5;0))
    ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = SI(H5<I5;0;SI(H5>I5+1/3;1/3;H5-I5))
    Eviter des SI emboités dans cette formule.
    Dans la première formule, la partie SI(H5>I5;H5-I5;0) peut se remplacer par le produit (H5-I5)*(H5>I5); en effet, si la condition H5>I5 est vraie, la proposition H5>I5 a la valeur numérique 1 et le produit écrit est égal à H5-I5 qu'il fallait calculer dans ce cas;
    si la condition H5>I5 est fausse, la proposition H5>I5 a la valeur numérique 0 et le produit écrit est égal à 0 ce qu'on attendait comme réponse.
    La formule serait donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(H5>43/24;1/3;(H5>I5)*(H5-I5))
    Utilisation des fonction MAX et MIN pour traiter des problèmes de seuil.
    En J5, le nombre d'heures supplémentaires à 1,25 s'obtient avec la différence H5-I5 mais ce nombre d'heures est obligatoirement compris entre 0 et 1/3 .
    Il ne peut être inférieur à 0 ce qui interdit de prendre la différence H5-I5 si celle-ci est un nombre négatif. La fonction MAX nous permet d'éviter un test avec SI. Il suffit de calculer MAX(0;H5-I5).
    De même la différence H5-I5 ne peut être supérieure à 1/3 mais là c'est la fonction MIN qui intervient. Il faut calculer MIN(1/3;H5-I5).
    Les deux fonctions pouvant se combiner, on peut avoir en J5 soit la formule :
    soit encore la formule :
    De même en K5, la formule pourrait être :
    Cordialement
    Claude

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Bonjour Claude,

    un grand MERCI pour toutes vos explications ET SOLUTIONS.

    dernière question maintenant que mes soucis de calculs sont réglés :

    (Je ne vraiment si c'est possible.)

    Comment puis je générer automatiquement les feuilles pour les 11 mois restants, avec le nom des onglets qui se modifie automatiquement ?

    Respectueusement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 17/07/2021, 16h16
  2. Un seul classeur pour tous les commander
    Par cedaud dans le forum Excel
    Réponses: 0
    Dernier message: 09/01/2014, 16h39
  3. [XL-2003] Calcul auto pour tous les classeurs SAUF un
    Par choup67 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 12/05/2010, 10h51
  4. Réponses: 2
    Dernier message: 05/02/2009, 17h05
  5. TEdit numérique pour tous les claviers
    Par totofweb dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/06/2004, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo