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 :

formule pour modifier une date selon condition [XL-2003]


Sujet :

Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut formule pour modifier une date selon condition
    Bonjour,

    Je cherche une formule qui pourrait gerer une date selon condition:
    le format des dates est personnalisé "jj/mm hh:mm"

    Si l'heure de la date en cellule K3 est < 08:00 alors L3 = date de K3 et on remplace l'heure de K3 par 08:00
    Si l'heure de la date en K3 est > 17:00 alors L3 = jour de K3 + 1j et l'heure sera 10h

    Ma formule est la suivante mais ceci ne fonctionne pas car la date ou l'heure est convertie par excel donc ma condition DROITE(K3;5)<"08:00" ne fonctionne pas car DROITE(K3;5) renvoie 55556 par exemple et non pas 08:00


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(DROITE(K3;5)<"08:00";GAUCHE(K3;5)&" 08:00";SI(DROITE(K3;5)>"17:00";GAUCHE(K3;5)&" 10:00";"N/A"))
    Avez vous une idée pour que j'arrive a faire ce que je veux? si c'est possible de ne pas passer par une macro

    merci d'avance

  2. #2
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Bonjour à toi,

    Tu as la fonction HEURE et MINUTE qui te permette de récupérer la partie qui t’intéresse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(HEURE(K3)*100+MINUTE(K3)>1700;GAUCHE(TEXTE(K3+1;"jj/mm");5)&" 10:00";SI(HEURE(K3)*100+MINUTE(K3)>800;GAUCHE(TEXTE(K3;"jj/mm");5)&" 08:00";"N/A"))

  3. #3
    Expert confirmé Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Points : 4 299
    Points
    4 299
    Par défaut
    Salut,

    avec cette formule, c'est doit le faire

    =SI(MOD(F5;1)<1/3;ENT(F5)+(1/3);SI(MOD(F5;1)>17/24;ENT(F5)+1+(5/12);"#N/A"))

    Le principe est de travailler en conservant les valeurs numérique. Pour Excel les heures sont des gérées par la partie décimale des nombres.
    8:00 c'est 1/3 je journée soit 0.33. le 17/24 c'est pour 17:00 et le 5/12 c'est pour 10:00.

    En espérant que cela pourra 'aider.

    Jérôme

  4. #4
    Expert confirmé Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Points : 4 299
    Points
    4 299
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(MOD(K3;1)<1/3;ENT(K3)+(1/3);SI(MOD(K3;1)>17/24;ENT(K3)+1+(5/12);"#N/A"))
    oups, ce n'était pas les bonnes cellules.

  5. #5
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    Bonjour à tous les deux,

    Merci beaucoup pour vos réponses.

    @cerede2000
    Je n'ai pas fait attention au fonction heure et minute je ne connaissais pas c'est parfait
    Merci bcp


    @jerome.vaussenat
    Je vais regardé les fonction ENT et MOD de plus près et revient vers toi qi j'ai des questions mais ca fonctionne aussi très bien

    merci à vous deux +1

  6. #6
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    @jerome.vaussenat : Pas mal comme technique !
    Juste un souci, pour 17h00 pile ta formule renvoi 10h le lendemain alors que la demande est pour > 17h00
    Et pour > 08h00 cela ne semble pas fonctionner, j'ai toujours NA...

  7. #7
    Expert confirmé Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Points : 4 299
    Points
    4 299
    Par défaut
    Salut Ceréde,

    si je ne me trompe pas, la demande est :
    je site :
    "Si l'heure de la date en cellule K3 est < 08:00 alors L3 = date de K3 et on remplace l'heure de K3 par 08:00"
    traité par cette partie SI(MOD(K3;1)<1/3;ENT(K3)+(1/3);

    "Si l'heure de la date en K3 est > 17:00 alors L3 = jour de K3 + 1j et l'heure sera 10h "
    traité par la suite de la formule : ;SI(MOD(K3;1)>17/24;ENT(K3)+1+(5/12);"#N/A"))

    Donc, si l'heure en K3 est > 17:00 on passe au jour suivant à 10:00.

    et dans les explications, on ne dit pas ce qu'il faut faire si heure de K3 est > 8:00. d'où le "#N/A"

    Mais l'essentiel c'est que le problème soit résolu ...

    Jérôme

  8. #8
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    En effet !
    Autant pour moi
    Avec ce changement d'heure j'ai tendance à être à coté de la plaque cette semaine

    J'avais vu > 08h00 et > 17h00

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

Discussions similaires

  1. [XL-2003] Formule pour automatiser une selection de plage selon 2 dates
    Par Chamalau dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 12/12/2013, 16h48
  2. Formule pour augmenter une date
    Par Joulino dans le forum Excel
    Réponses: 4
    Dernier message: 19/10/2012, 12h47
  3. [MySQL] condition de temps pour modifier une valeur
    Par Beniti dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 29/05/2008, 09h13
  4. [CR XI] Formule pour cacher une date?
    Par campia dans le forum Formules
    Réponses: 2
    Dernier message: 29/05/2007, 09h54
  5. [VB.net] Générer une date selon condition
    Par WriteLN dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/10/2005, 17h12

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