Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacky
Bonjour,
Avec un peu de recherche sur Gôôôgle Extrait de http://xcell05.free.fr/
B. La fonction DATEDIF (calculs d'âge) DATEDIF fait partie des fonctions masquées d'Excel, au même titre que par exemple ISPMT ou USDOLLAR. Elle n'est pas référencée par l'aide en ligne et n'apparaît pas dans la liste des fonctions disponibles de l'assistant "Coller une fonction". DATEDIF permet de calculer la différence entre deux dates en années, mois et jours.
Syntaxe : ÚTEDIF(Date1;Date2;Intervalle)
Cette fonction renvoie la différence entre Date1 et Date2 (Date2 >= Date1) selon l'argument Intervalle, qui peut prendre les valeurs suivantes :
"y" : différence en années "m" : différence en mois "d" : différence en jours "ym" : différence en mois, une fois les années soustraites "yd" : différence en jours, une fois les années soustraites "md" : différence en jours, une fois les années et les mois soustraits
Exemple :
ÚTEDIF("5/4/1990";"15/8/99";Intervalle) renvoie les valeurs suivantes selon la valeur de l'argument Intervalle :
"y" : 9 (ans) "m" : 112 (mois) "d" : 3419 (jours) "ym" : 4 (mois restants, une fois les 9 ans soustraits) "yd" : 132 (jours restants, une fois les 9 ans soustraits) "md" : 10 (jours restants, une fois les 112 mois soustraits)
La fonction DATEDIF peut être en particulier utilisée pour calculer des âges. Par exemple, si la cellule A1 contient une date de naissance et la cellule B1 la date du jour :
ÚTEDIF(A1;B1;"y")&SI(DATEDIF(A1;B1;"y")>1;" ans, ";" an, ") &DATEDIF(A1;B1;"ym")&" mois"
- Age en années, mois et jours :
ÚTEDIF(A1;B1;"y")&SI(DATEDIF(A1;B1;"y")>1;" ans, ";" an, ")&DATEDIF(A1;B1;"ym") &" mois, "&DATEDIF(A1;B1;"md")&SI(DATEDIF(A1;B1;"md")>1;" jours";" jour")
Cette formule peut faire apparaître des "0 an", "0 mois" ou "0 jour", par exemple si A1"/01/1968 et B1"/02/1968, elle renverra "0 an, 1 mois, 0 jo ur". Pour éliminer ces 0 et renvoyer seulement "1 mois", utiliser la formule suivante :
=SUPPRESPACE(SI(B1-A1;TEXTE(DATEDIF(A1;B1;"y");"[>1]0"" ans"";[>]""1 an"";")&TEXTE(DATEDIF(A1;B1;"ym");"[>] 0"" mois "";")&TEXTE(DATEDIF(A1;B1;"md");"[>1]0"" jours"";[>]""1 jour"";");"0 jour"))
La fonction non documentée DATEDIF ne faisant pas partie de la collection WorksheetFunction, il est nécessaire de passer par la fonction Evaluate pour l'utiliser à partir de VBA.
La fonction VBA suivante s'appuie sur DATEDIF pour renvoyer un âge en années, mois et jours à partir de deux dates :
Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
Salutations JJ
"titi" a écrit dans le message de news:
Bonjour,
Je viens de découvrir (mieux vaut tard que jamais) que Excel possédait des fonctions masquées (exemple: Datedif).
Comment peut on connaître la liste et la syntaxe de ces fonctions qui n'apparaissent pas dans la liste des fonctions ?
Merci.
Thierry
Bonjour,
Avec un peu de recherche sur Gôôôgle
Extrait de http://xcell05.free.fr/
B. La fonction DATEDIF (calculs d'âge)
DATEDIF fait partie des fonctions masquées d'Excel, au même titre que par
exemple ISPMT ou USDOLLAR. Elle n'est pas référencée par l'aide en ligne et
n'apparaît pas dans la liste des fonctions disponibles de l'assistant
"Coller une fonction".
DATEDIF permet de calculer la différence entre deux dates en années, mois et
jours.
Syntaxe : ÚTEDIF(Date1;Date2;Intervalle)
Cette fonction renvoie la différence entre Date1 et Date2 (Date2 >= Date1)
selon l'argument Intervalle, qui peut prendre les valeurs suivantes :
"y" : différence en années
"m" : différence en mois
"d" : différence en jours
"ym" : différence en mois, une fois les années soustraites
"yd" : différence en jours, une fois les années soustraites
"md" : différence en jours, une fois les années et les mois soustraits
Exemple :
ÚTEDIF("5/4/1990";"15/8/99";Intervalle) renvoie les valeurs suivantes
selon la valeur de l'argument Intervalle :
"y" : 9 (ans)
"m" : 112 (mois)
"d" : 3419 (jours)
"ym" : 4 (mois restants, une fois les 9 ans soustraits)
"yd" : 132 (jours restants, une fois les 9 ans soustraits)
"md" : 10 (jours restants, une fois les 112 mois soustraits)
La fonction DATEDIF peut être en particulier utilisée pour calculer des
âges. Par exemple, si la cellule A1 contient une date de naissance et la
cellule B1 la date du jour :
ÚTEDIF(A1;B1;"y")&SI(DATEDIF(A1;B1;"y")>1;" ans, ";" an, ")
&DATEDIF(A1;B1;"ym")&" mois"
- Age en années, mois et jours :
ÚTEDIF(A1;B1;"y")&SI(DATEDIF(A1;B1;"y")>1;" ans, ";" an,
")&DATEDIF(A1;B1;"ym")
&" mois, "&DATEDIF(A1;B1;"md")&SI(DATEDIF(A1;B1;"md")>1;" jours";" jour")
Cette formule peut faire apparaître des "0 an", "0 mois" ou "0 jour", par
exemple si A1"/01/1968 et B1"/02/1968, elle renverra "0 an, 1 mois, 0 jo
ur". Pour éliminer ces 0 et renvoyer seulement "1 mois", utiliser la formule
suivante :
=SUPPRESPACE(SI(B1-A1;TEXTE(DATEDIF(A1;B1;"y");"[>1]0"" ans"";[>]""1
an"";")&TEXTE(DATEDIF(A1;B1;"ym");"[>] 0"" mois
"";")&TEXTE(DATEDIF(A1;B1;"md");"[>1]0"" jours"";[>]""1 jour"";");"0 jour"))
La fonction non documentée DATEDIF ne faisant pas partie de la collection
WorksheetFunction, il est nécessaire de passer par la fonction Evaluate pour
l'utiliser à partir de VBA.
La fonction VBA suivante s'appuie sur DATEDIF pour renvoyer un âge en
années, mois et jours à partir de deux dates :
Function AGE(Date1 As Date, Date2 As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(Date1): D2 = Int(Date2)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _
Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, "
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""")
AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour")
End Function
Salutations
JJ
"titi" <titi@wanadoo.fr> a écrit dans le message de
news:OuEORlASGHA.1236@TK2MSFTNGP11.phx.gbl...
Bonjour,
Je viens de découvrir (mieux vaut tard que jamais) que Excel possédait des
fonctions masquées (exemple: Datedif).
Comment peut on connaître la liste et la syntaxe de ces fonctions qui
n'apparaissent pas dans la liste des fonctions ?
Avec un peu de recherche sur Gôôôgle Extrait de http://xcell05.free.fr/
B. La fonction DATEDIF (calculs d'âge) DATEDIF fait partie des fonctions masquées d'Excel, au même titre que par exemple ISPMT ou USDOLLAR. Elle n'est pas référencée par l'aide en ligne et n'apparaît pas dans la liste des fonctions disponibles de l'assistant "Coller une fonction". DATEDIF permet de calculer la différence entre deux dates en années, mois et jours.
Syntaxe : ÚTEDIF(Date1;Date2;Intervalle)
Cette fonction renvoie la différence entre Date1 et Date2 (Date2 >= Date1) selon l'argument Intervalle, qui peut prendre les valeurs suivantes :
"y" : différence en années "m" : différence en mois "d" : différence en jours "ym" : différence en mois, une fois les années soustraites "yd" : différence en jours, une fois les années soustraites "md" : différence en jours, une fois les années et les mois soustraits
Exemple :
ÚTEDIF("5/4/1990";"15/8/99";Intervalle) renvoie les valeurs suivantes selon la valeur de l'argument Intervalle :
"y" : 9 (ans) "m" : 112 (mois) "d" : 3419 (jours) "ym" : 4 (mois restants, une fois les 9 ans soustraits) "yd" : 132 (jours restants, une fois les 9 ans soustraits) "md" : 10 (jours restants, une fois les 112 mois soustraits)
La fonction DATEDIF peut être en particulier utilisée pour calculer des âges. Par exemple, si la cellule A1 contient une date de naissance et la cellule B1 la date du jour :
ÚTEDIF(A1;B1;"y")&SI(DATEDIF(A1;B1;"y")>1;" ans, ";" an, ") &DATEDIF(A1;B1;"ym")&" mois"
- Age en années, mois et jours :
ÚTEDIF(A1;B1;"y")&SI(DATEDIF(A1;B1;"y")>1;" ans, ";" an, ")&DATEDIF(A1;B1;"ym") &" mois, "&DATEDIF(A1;B1;"md")&SI(DATEDIF(A1;B1;"md")>1;" jours";" jour")
Cette formule peut faire apparaître des "0 an", "0 mois" ou "0 jour", par exemple si A1"/01/1968 et B1"/02/1968, elle renverra "0 an, 1 mois, 0 jo ur". Pour éliminer ces 0 et renvoyer seulement "1 mois", utiliser la formule suivante :
=SUPPRESPACE(SI(B1-A1;TEXTE(DATEDIF(A1;B1;"y");"[>1]0"" ans"";[>]""1 an"";")&TEXTE(DATEDIF(A1;B1;"ym");"[>] 0"" mois "";")&TEXTE(DATEDIF(A1;B1;"md");"[>1]0"" jours"";[>]""1 jour"";");"0 jour"))
La fonction non documentée DATEDIF ne faisant pas partie de la collection WorksheetFunction, il est nécessaire de passer par la fonction Evaluate pour l'utiliser à partir de VBA.
La fonction VBA suivante s'appuie sur DATEDIF pour renvoyer un âge en années, mois et jours à partir de deux dates :
Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
Salutations JJ
"titi" a écrit dans le message de news:
Bonjour,
Je viens de découvrir (mieux vaut tard que jamais) que Excel possédait des fonctions masquées (exemple: Datedif).
Comment peut on connaître la liste et la syntaxe de ces fonctions qui n'apparaissent pas dans la liste des fonctions ?