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 :

Fonction =SI(HEURE) + minutes [XL-2013]


Sujet :

Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut Fonction =SI(HEURE) + minutes
    Bonjour à tous,

    j'ai un petit soucis avec la fonction SI(HEURE).
    Voilà ma formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTVIDE(E3);"";SI(HEURE(F3)<=8;2,65;SI(HEURE(F3)<=9;3,01;3,34)))
    La formule marche bien sauf qu'elle ne me prend pas en compte les minutes. Si j'ai un résultat de 8:15, elle reste dans la tranche des 8 est ne m'affiche donc pas le bon résultat.
    Avez-vous une idée pour lui faire prendre en compte les minutes ?

    merci d'avance à tous.

  2. #2
    Membre émérite
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 678
    Par défaut
    Bonjour isscool,

    Je n'ai pas compris pourquoi après avoir cherché à savoir si E3 est vide vous faites vos calculs sur F3
    j'ai donc utilisé une référence unique : F3
    à vous de tester si la formule vous convient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(SOMME(HEURE(F3)*60;MINUTE(F3))/60<=8;2,65;SI(SOMME(HEURE(F3)*60;MINUTE(F3))/60<=9;3,01;3,34);"")

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La formule marche bien sauf qu'elle ne me prend pas en compte les minutes. Si j'ai un résultat de 8:15, elle reste dans la tranche des 8
    D'après toi que renvoie la fonction HEURE ?
    Quand tu auras répondu à la question tu comprendras que la fonction SI réagit parfaitement à ta condition.
    Qu'il y ait dans la cellule testée 08:01 ou 08:59 le résultat renvoyé par la fonction HEURE sera identique
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    D'après toi que renvoie la fonction HEURE ?
    Quand tu auras répondu à la question tu comprendras que la fonction SI réagit parfaitement à ta condition.
    Qu'il y ait dans la cellule testée 08:01 ou 08:59 le résultat renvoyé par la fonction HEURE sera identique
    Je comprend que la fonction HEURE gère que les heures, mais il y a t'il une fonction qui gère les deux ?
    Merci

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut
    Citation Envoyé par njhub Voir le message
    Bonjour isscool,

    Je n'ai pas compris pourquoi après avoir cherché à savoir si E3 est vide vous faites vos calculs sur F3
    j'ai donc utilisé une référence unique : F3
    à vous de tester si la formule vous convient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(SOMME(HEURE(F3)*60;MINUTE(F3))/60<=8;2,65;SI(SOMME(HEURE(F3)*60;MINUTE(F3))/60<=9;3,01;3,34);"")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(SOMME(HEURE(F3)*60;MINUTE(F3))/60<=8;2,65;SI(SOMME(HEURE(F3)*60;MINUTE(F3))/60>8;3,01;SI(SOMME(HEURE(F3)*60;MINUTE(F3))/60>9;3,34))))
    J'ai essayé ta solution "njhub" ça marche bien. Je l'ai juste modifié un peu sur la fin sauf que cette partie SI(SOMME(HEURE(F3)*60;MINUTE(F3))/60>9;3,34)))) ne marche pas. Pourtant je ne pense pas avoir fais d'erreur. As tu une idée ?

    Merci

  6. #6
    Membre émérite
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 678
    Par défaut
    Bonjour isscool,

    Oui, l'idée est : ce qui est supérieur à 9 est également supérieur à 8...
    Il faut encadrer 3.01 si >8 et <9.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =SI(SOMME(HEURE(F3)*60;MINUTE(F3))/60<=8;2,65;
    SI(et(SOMME(HEURE(F3)*60;MINUTE(F3))/60>8;SOMME(HEURE(F3)*60;MINUTE(F3))/60<9);3,01;
    SI(SOMME(HEURE(F3)*60;MINUTE(F3))/60>=9;3,34))))

  7. #7
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juillet 2017
    Messages : 33
    Par défaut
    Bonjour.

    Si ton heure est au format hh:mm:ss alors tu peux utiliser la formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(F3*24<=8;2,65;SI(ET(F3*24>8;F3*24<9);3,01;SI(F3*24>=9;3,34))))
    Par souci d'optimisation j'ai pour habitude d'utiliser l'intervalle le plus élevé en premier puis de "descendre" par palier, on peut donc écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(F3*24>=9;3,34;SI(F3*24>=8;3,01;2,65))
    Cela se lit de la manière suivante : "Est-ce supérieur ou égal a 9 ? Oui on prend la valeur, non, est-ce supérieur ou égal a 8 ? oui on prend la valeur, non on prend la valeur évaluée la plus basse (inférieur a 8)"

    Info : une heure au format hh:mm:ss est une fraction de journée. Ainsi 08:15:00 font 8.25 heure decimales ou 0.34375 fraction d'une journée. En multipliant cette fraction par 24 on obtient le resultat en décimal

    En espérant avoir été clair

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Au lieu d'utiliser une suite de SI imbriqués, je préfère passer par la fonction RECHERCHEV. Plus simple à mettre en place et surtout plus facile à maintenir.
    Un petit exemple

    Dans une feuille nommée [Parameter], la liste des heures ainsi que leurs valeurs associées

    Nom : RECHERCHEV au lieu de SI imbriqué.png
Affichages : 2101
Taille : 6,5 Ko

    La formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(F2;Parameter!$A$2:$B$5;2)
    A lire éventuellement Comment remplacer des SI imbriqués par la fonction RECHERCHEV
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut
    Merci à tous les deux pour votre aide, tout marche parfaitement.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut
    Bonjour à tous,

    je reviens vers vous pour avoir un petit coup de pouce. Je ne sais pas si c'est possible de le faire mais je pose quand même la question. Je suis toujours avec mon tableau pour le calcul d'heure.
    J'ai utilisé la formule de Philippe Tulliez =RECHERCHEV(F2;Parameter!$A$2:$B$5;2) qui marche parfaitement.
    Toujours en gardant cette formule qui me permet d'afficher le tarif en fonction de l'heure. Est-il possible d'y ajouter une formule quand l'heure dépasse 9h00 pour que ça me calcul le montant en faisant cette formule (3,03/9*nbrs d'heures G6).
    Je ne sais pas si je suis bien clair dans mes explications. J'ai ajouter en pièce jointe une ligne de mon tableau.

    Merci pour votre aide.
    Images attachées Images attachées  

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

Discussions similaires

  1. Conversion minutes vers Jour:Heure:minute
    Par jaq dans le forum VBA Access
    Réponses: 10
    Dernier message: 24/09/2009, 17h01
  2. Jour Mois anné, heure minute et seconde...
    Par SangKou dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 29/11/2005, 13h43
  3. [Dates] Jour Mois anné, heure minute et seconde...
    Par SangKou dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2005, 08h34
  4. Conversion heures minutes en heures centièmes
    Par shaman262 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/10/2005, 17h53
  5. Formater une durée sous la forme Heure:Minute:Seconde
    Par marsupile dans le forum C++Builder
    Réponses: 2
    Dernier message: 31/01/2004, 23h29

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