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 :

problème avec formule "datedif" dans excel


Sujet :

Excel

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut problème avec formule "datedif" dans excel
    Bonjour,
    Pour quelle raison j'obtiens en utilisant cette formule dans un calcul répétitif un résultat OK une ligne sur deux
    exemple:
    nombre de mois entre le 31/12/2005 et le 31/01/2006 résultat 1
    nombre de mois entre le 31/12/2005 et le 28/02/2006 résultat 1
    nombre de mois entre le 31/12/2005 et le 31/03/2006 résultat 3
    nombre de mois entre le 31/12/2005 et le 30/04/2006 résultat 3
    nombre de mois entre le 31/12/2005 et le 31/05/2006 résultat 5
    nombre de mois entre le 31/12/2005 et le 30/06/2006 résultat 5
    nombre de mois entre le 31/12/2005 et le 31/07/2006 résultat 7 etc..etc
    Pour info j'ai bien l'utilitaire d'analyse activé
    Merci par avance

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Désolé mais déjà, pour le 2, j'ai 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox DateDiff("m", "31/12/2005", "28/02/2006")
    Bon, sinon je sais qu'il peut y avoir un pb. J'ai lu quelque part que le format de la date avait une incidence sur les résultats (valeur prise dans une cellule ou dans une chaîne... me souviens plus)
    Tu devrais essayer ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MsgBox DateDiff("m", "31/12/2005", "30/06/2006")
    MsgBox DateDiff("m", CDbl(CDate("31/12/2005")), CDbl(CDate("30/06/2006")))
    Comme j'ai le bon résultat dans les deux cas, je ne peux pas le faire pour toi
    Tu dis
    A+

    Edit
    Tu es sur quelle version d'office ? Si c'est 97, tu es sur SR1 ou SR2 ?

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Je suis sur EXCEL 2003



    Citation Envoyé par ouskel'n'or
    Désolé mais déjà, pour le 2, j'ai 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox DateDiff("m", "31/12/2005", "28/02/2006")
    Bon, sinon je sais qu'il peut y avoir un pb. J'ai lu quelque part que le format de la date avait une incidence sur les résultats (valeur prise dans une cellule ou dans une chaîne... me souviens plus)
    Tu devrais essayer ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MsgBox DateDiff("m", "31/12/2005", "30/06/2006")
    MsgBox DateDiff("m", CDbl(CDate("31/12/2005")), CDbl(CDate("30/06/2006")))
    Comme j'ai le bon résultat dans les deux cas, je ne peux pas le faire pour toi
    Tu dis
    A+

    Edit
    Tu es sur quelle version d'office ? Si c'est 97, tu es sur SR1 ou SR2 ?

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Et que donnent tes essais avec mon code ?
    Tu dis
    A+

    NB - Evite de citer toute une discussion, surtout si tu n'ajoutes pas d'information sur l'essentiel

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Je ne comprends pas ces codes
    Moi je saisi une formule du type =datedif(A1;B1;"m")





    Citation Envoyé par ouskel'n'or
    Et que donnent tes essais avec mon code ?
    Tu dis
    A+

    NB - Evite de citer toute une discussion, surtout si tu n'ajoutes pas d'information sur l'essentiel

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu as essayé

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 120
    Points : 181
    Points
    181
    Par défaut
    Salut le forum

    Le problème est du à ceci les mois sont incomplets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    31-12-2005	31-01-2006	0 an 1 mois 0 jour
    31-12-2005	28-02-2006	0 an 1 mois 28 jours
    31-12-2005	31-03-2006	0 an 3 mois 0 jour
    31-12-2005	30-04-2006	0 an 3 mois 30 jours
    31-12-2005	31-05-2006	0 an 5 mois 0 jour
    31-12-2005	30-06-2006	0 an 5 mois 30 jours
    31-12-2005	31-07-2006	0 an 7 mois 0 jour
    31-12-2005	31-08-2006	0 an 8 mois 0 jour
    31-12-2005	30-09-2006	0 an 8 mois 30 jours
    31-12-2005	31-10-2006	0 an 10 mois 0 jour
    31-12-2005	30-11-2006	0 an 10 mois 30 jours
    31-12-2005	31-12-2006	1 an 0 mois 0 jour
    Mytå_Qc

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour Ajc35000,

    La réponse donnée par Mytå_Qc est bien valable.

    Si vous voulez mesurer uniquement un nombre de mois entier vous pouvez utiliser :

    =DATEDIF(F3;G3+1;"m") & " mois, "

    En effet si la 2ème date est : 28/02/xx ou 29/02/xx le calcul va se faire entre :
    31/12/xx et 01/03/xx donc vous obtiendrez bien 2 mois

    Mais ce sera également vrai pour 30/04/xx ou 31/05/xx.

    De même si la 2ème date est inférieure au dernier jour du mois le résultat sera toujours valable.

    Amicalement.

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

Discussions similaires

  1. [XL-2003] Problème avec utilisation d'une fonction dans les formules
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2009, 10h43
  2. Réponses: 7
    Dernier message: 29/06/2006, 12h33
  3. [C#] problème avec l'insertion des données dans MySQL
    Par madica dans le forum Accès aux données
    Réponses: 7
    Dernier message: 08/11/2005, 13h27

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