Bonsoir,
Depuis une semaine j'essaye de faire fonctionner la fonction suivante
trouver dans un forum dans une UserForm avec 3 Textbox et un bouton
pour lancer la fonction
Function AGE(DateDebut As Date, DateFin As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(DateDebut): D2 = Int(DateFin)
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
Macro sur le bouton :
Public DateDebut As Date, DateFin As Date
Private Sub CommandButton32_Click()
DateDebut = TextBox186.Value
DateFin = TextBox187.Value
TextBox190.Value = AGE(DateDebut, DateFin)
End sub
Et là j'ai un message d'erreur sur la ligne : Type incompatible
(erreur 13) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
J'ai bien cherché à modifier les propriétés de mes variables mais
rien à faire.
Si vous avez une explication et/ou une solution merci d'avance.
Bonsoir,
Depuis une semaine j'essaye de faire fonctionner la fonction suivante
trouver dans un forum dans une UserForm avec 3 Textbox et un bouton
pour lancer la fonction
Function AGE(DateDebut As Date, DateFin As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(DateDebut): D2 = Int(DateFin)
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
Macro sur le bouton :
Public DateDebut As Date, DateFin As Date
Private Sub CommandButton32_Click()
DateDebut = TextBox186.Value
DateFin = TextBox187.Value
TextBox190.Value = AGE(DateDebut, DateFin)
End sub
Et là j'ai un message d'erreur sur la ligne : Type incompatible
(erreur 13) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
J'ai bien cherché à modifier les propriétés de mes variables mais
rien à faire.
Si vous avez une explication et/ou une solution merci d'avance.
Bonsoir,
Depuis une semaine j'essaye de faire fonctionner la fonction suivante
trouver dans un forum dans une UserForm avec 3 Textbox et un bouton
pour lancer la fonction
Function AGE(DateDebut As Date, DateFin As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(DateDebut): D2 = Int(DateFin)
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
Macro sur le bouton :
Public DateDebut As Date, DateFin As Date
Private Sub CommandButton32_Click()
DateDebut = TextBox186.Value
DateFin = TextBox187.Value
TextBox190.Value = AGE(DateDebut, DateFin)
End sub
Et là j'ai un message d'erreur sur la ligne : Type incompatible
(erreur 13) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
J'ai bien cherché à modifier les propriétés de mes variables mais
rien à faire.
Si vous avez une explication et/ou une solution merci d'avance.
'---------------------------------------
Private Sub CommandButton32_Click()
Dim Déb As Date
Dim Fin As Date
If IsDate(TextBox186.Value) And _
IsDate(TextBox187.Value) Then
DateDebut = CDate(TextBox186.Value)
Fin = CDate(TextBox187.Value)
Déb = CDate(TextBox186.Value)
TextBox190.Value = AGE(Déb, Fin)
Else
MsgBox "Un ou / et les 2 textbox contiennent des " & _
"informations qui ne sont pas des dates pour excel."
End If
End Sub
'-----------------------------------------------
' Proposé par AV et LL
Function AGE(Déb As Date, Fin As Date) As String
AGE = Evaluate("trim(if(" & Fin * 1 & "-" & _
Déb * 1 & ",text(datedif(" & Déb * 1 & "," & _
Fin * 1 & ",""y""),""[>1]0"""" ans"""";" & _
"[>]""""1 an"""";"")&text(datedif(" & _
Déb * 1 & "," & Fin * 1 & ",""ym"")," & _
"""[>] 0"""" mois """"; "")&text(datedif(" & _
Déb * 1 & "," & Fin * 1 & ",""md"")," & _
"""[>1]0"""" jours"""";[>]""""1 jour"""";"")," & _
"""0 jour""))")
End Function
'---------------------------------------
"Esox38" a écrit dans le message de news:
Bonsoir,
Depuis une semaine j'essaye de faire fonctionner la fonction suivante
trouver dans un forum dans une UserForm avec 3 Textbox et un bouton pour
lancer la fonction
Function AGE(DateDebut As Date, DateFin As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(DateDebut): D2 = Int(DateFin)
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
Macro sur le bouton :
Public DateDebut As Date, DateFin As Date
Private Sub CommandButton32_Click()
DateDebut = TextBox186.Value
DateFin = TextBox187.Value
TextBox190.Value = AGE(DateDebut, DateFin)
End sub
Et là j'ai un message d'erreur sur la ligne : Type incompatible (erreur 13)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
J'ai bien cherché à modifier les propriétés de mes variables mais rien à
faire.
Si vous avez une explication et/ou une solution merci d'avance.
Cordialement
--
Esox38
'---------------------------------------
Private Sub CommandButton32_Click()
Dim Déb As Date
Dim Fin As Date
If IsDate(TextBox186.Value) And _
IsDate(TextBox187.Value) Then
DateDebut = CDate(TextBox186.Value)
Fin = CDate(TextBox187.Value)
Déb = CDate(TextBox186.Value)
TextBox190.Value = AGE(Déb, Fin)
Else
MsgBox "Un ou / et les 2 textbox contiennent des " & _
"informations qui ne sont pas des dates pour excel."
End If
End Sub
'-----------------------------------------------
' Proposé par AV et LL
Function AGE(Déb As Date, Fin As Date) As String
AGE = Evaluate("trim(if(" & Fin * 1 & "-" & _
Déb * 1 & ",text(datedif(" & Déb * 1 & "," & _
Fin * 1 & ",""y""),""[>1]0"""" ans"""";" & _
"[>]""""1 an"""";"")&text(datedif(" & _
Déb * 1 & "," & Fin * 1 & ",""ym"")," & _
"""[>] 0"""" mois """"; "")&text(datedif(" & _
Déb * 1 & "," & Fin * 1 & ",""md"")," & _
"""[>1]0"""" jours"""";[>]""""1 jour"""";"")," & _
"""0 jour""))")
End Function
'---------------------------------------
"Esox38" <Esox38@discussions.microsoft.com> a écrit dans le message de news:
63BD73D4-1E81-43EC-B748-5C769437031D@microsoft.com...
Bonsoir,
Depuis une semaine j'essaye de faire fonctionner la fonction suivante
trouver dans un forum dans une UserForm avec 3 Textbox et un bouton pour
lancer la fonction
Function AGE(DateDebut As Date, DateFin As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(DateDebut): D2 = Int(DateFin)
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
Macro sur le bouton :
Public DateDebut As Date, DateFin As Date
Private Sub CommandButton32_Click()
DateDebut = TextBox186.Value
DateFin = TextBox187.Value
TextBox190.Value = AGE(DateDebut, DateFin)
End sub
Et là j'ai un message d'erreur sur la ligne : Type incompatible (erreur 13)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
J'ai bien cherché à modifier les propriétés de mes variables mais rien à
faire.
Si vous avez une explication et/ou une solution merci d'avance.
Cordialement
--
Esox38
'---------------------------------------
Private Sub CommandButton32_Click()
Dim Déb As Date
Dim Fin As Date
If IsDate(TextBox186.Value) And _
IsDate(TextBox187.Value) Then
DateDebut = CDate(TextBox186.Value)
Fin = CDate(TextBox187.Value)
Déb = CDate(TextBox186.Value)
TextBox190.Value = AGE(Déb, Fin)
Else
MsgBox "Un ou / et les 2 textbox contiennent des " & _
"informations qui ne sont pas des dates pour excel."
End If
End Sub
'-----------------------------------------------
' Proposé par AV et LL
Function AGE(Déb As Date, Fin As Date) As String
AGE = Evaluate("trim(if(" & Fin * 1 & "-" & _
Déb * 1 & ",text(datedif(" & Déb * 1 & "," & _
Fin * 1 & ",""y""),""[>1]0"""" ans"""";" & _
"[>]""""1 an"""";"")&text(datedif(" & _
Déb * 1 & "," & Fin * 1 & ",""ym"")," & _
"""[>] 0"""" mois """"; "")&text(datedif(" & _
Déb * 1 & "," & Fin * 1 & ",""md"")," & _
"""[>1]0"""" jours"""";[>]""""1 jour"""";"")," & _
"""0 jour""))")
End Function
'---------------------------------------
"Esox38" a écrit dans le message de news:
Bonsoir,
Depuis une semaine j'essaye de faire fonctionner la fonction suivante
trouver dans un forum dans une UserForm avec 3 Textbox et un bouton pour
lancer la fonction
Function AGE(DateDebut As Date, DateFin As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(DateDebut): D2 = Int(DateFin)
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
Macro sur le bouton :
Public DateDebut As Date, DateFin As Date
Private Sub CommandButton32_Click()
DateDebut = TextBox186.Value
DateFin = TextBox187.Value
TextBox190.Value = AGE(DateDebut, DateFin)
End sub
Et là j'ai un message d'erreur sur la ligne : Type incompatible (erreur 13)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
J'ai bien cherché à modifier les propriétés de mes variables mais rien à
faire.
Si vous avez une explication et/ou une solution merci d'avance.
Cordialement
--
Esox38
'---------------------------------------
Private Sub CommandButton32_Click()
Dim Déb As Date
Dim Fin As Date
If IsDate(TextBox186.Value) And _
IsDate(TextBox187.Value) Then
DateDebut = CDate(TextBox186.Value)
Fin = CDate(TextBox187.Value)
Déb = CDate(TextBox186.Value)
TextBox190.Value = AGE(Déb, Fin)
Else
MsgBox "Un ou / et les 2 textbox contiennent des " & _
"informations qui ne sont pas des dates pour excel."
End If
End Sub
'-----------------------------------------------
' Proposé par AV et LL
Function AGE(Déb As Date, Fin As Date) As String
AGE = Evaluate("trim(if(" & Fin * 1 & "-" & _
Déb * 1 & ",text(datedif(" & Déb * 1 & "," & _
Fin * 1 & ",""y""),""[>1]0"""" ans"""";" & _
"[>]""""1 an"""";"")&text(datedif(" & _
Déb * 1 & "," & Fin * 1 & ",""ym"")," & _
"""[>] 0"""" mois """"; "")&text(datedif(" & _
Déb * 1 & "," & Fin * 1 & ",""md"")," & _
"""[>1]0"""" jours"""";[>]""""1 jour"""";"")," & _
"""0 jour""))")
End Function
'---------------------------------------
"Esox38" a écrit dans le message de
news:
Bonsoir,
Depuis une semaine j'essaye de faire fonctionner la fonction suivante
trouver dans un forum dans une UserForm avec 3 Textbox et un bouton pour
lancer la fonction
Function AGE(DateDebut As Date, DateFin As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(DateDebut): D2 = Int(DateFin)
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
Macro sur le bouton :
Public DateDebut As Date, DateFin As Date
Private Sub CommandButton32_Click()
DateDebut = TextBox186.Value
DateFin = TextBox187.Value
TextBox190.Value = AGE(DateDebut, DateFin)
End sub
Et là j'ai un message d'erreur sur la ligne : Type incompatible (erreur
13)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
J'ai bien cherché à modifier les propriétés de mes variables mais rien à
faire.
Si vous avez une explication et/ou une solution merci d'avance.
Cordialement
--
Esox38
'---------------------------------------
Private Sub CommandButton32_Click()
Dim Déb As Date
Dim Fin As Date
If IsDate(TextBox186.Value) And _
IsDate(TextBox187.Value) Then
DateDebut = CDate(TextBox186.Value)
Fin = CDate(TextBox187.Value)
Déb = CDate(TextBox186.Value)
TextBox190.Value = AGE(Déb, Fin)
Else
MsgBox "Un ou / et les 2 textbox contiennent des " & _
"informations qui ne sont pas des dates pour excel."
End If
End Sub
'-----------------------------------------------
' Proposé par AV et LL
Function AGE(Déb As Date, Fin As Date) As String
AGE = Evaluate("trim(if(" & Fin * 1 & "-" & _
Déb * 1 & ",text(datedif(" & Déb * 1 & "," & _
Fin * 1 & ",""y""),""[>1]0"""" ans"""";" & _
"[>]""""1 an"""";"")&text(datedif(" & _
Déb * 1 & "," & Fin * 1 & ",""ym"")," & _
"""[>] 0"""" mois """"; "")&text(datedif(" & _
Déb * 1 & "," & Fin * 1 & ",""md"")," & _
"""[>1]0"""" jours"""";[>]""""1 jour"""";"")," & _
"""0 jour""))")
End Function
'---------------------------------------
"Esox38" <Esox38@discussions.microsoft.com> a écrit dans le message de
news:
63BD73D4-1E81-43EC-B748-5C769437031D@microsoft.com...
Bonsoir,
Depuis une semaine j'essaye de faire fonctionner la fonction suivante
trouver dans un forum dans une UserForm avec 3 Textbox et un bouton pour
lancer la fonction
Function AGE(DateDebut As Date, DateFin As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(DateDebut): D2 = Int(DateFin)
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
Macro sur le bouton :
Public DateDebut As Date, DateFin As Date
Private Sub CommandButton32_Click()
DateDebut = TextBox186.Value
DateFin = TextBox187.Value
TextBox190.Value = AGE(DateDebut, DateFin)
End sub
Et là j'ai un message d'erreur sur la ligne : Type incompatible (erreur
13)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
J'ai bien cherché à modifier les propriétés de mes variables mais rien à
faire.
Si vous avez une explication et/ou une solution merci d'avance.
Cordialement
--
Esox38
'---------------------------------------
Private Sub CommandButton32_Click()
Dim Déb As Date
Dim Fin As Date
If IsDate(TextBox186.Value) And _
IsDate(TextBox187.Value) Then
DateDebut = CDate(TextBox186.Value)
Fin = CDate(TextBox187.Value)
Déb = CDate(TextBox186.Value)
TextBox190.Value = AGE(Déb, Fin)
Else
MsgBox "Un ou / et les 2 textbox contiennent des " & _
"informations qui ne sont pas des dates pour excel."
End If
End Sub
'-----------------------------------------------
' Proposé par AV et LL
Function AGE(Déb As Date, Fin As Date) As String
AGE = Evaluate("trim(if(" & Fin * 1 & "-" & _
Déb * 1 & ",text(datedif(" & Déb * 1 & "," & _
Fin * 1 & ",""y""),""[>1]0"""" ans"""";" & _
"[>]""""1 an"""";"")&text(datedif(" & _
Déb * 1 & "," & Fin * 1 & ",""ym"")," & _
"""[>] 0"""" mois """"; "")&text(datedif(" & _
Déb * 1 & "," & Fin * 1 & ",""md"")," & _
"""[>1]0"""" jours"""";[>]""""1 jour"""";"")," & _
"""0 jour""))")
End Function
'---------------------------------------
"Esox38" a écrit dans le message de
news:
Bonsoir,
Depuis une semaine j'essaye de faire fonctionner la fonction suivante
trouver dans un forum dans une UserForm avec 3 Textbox et un bouton pour
lancer la fonction
Function AGE(DateDebut As Date, DateFin As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(DateDebut): D2 = Int(DateFin)
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
Macro sur le bouton :
Public DateDebut As Date, DateFin As Date
Private Sub CommandButton32_Click()
DateDebut = TextBox186.Value
DateFin = TextBox187.Value
TextBox190.Value = AGE(DateDebut, DateFin)
End sub
Et là j'ai un message d'erreur sur la ligne : Type incompatible (erreur
13)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
J'ai bien cherché à modifier les propriétés de mes variables mais rien à
faire.
Si vous avez une explication et/ou une solution merci d'avance.
Cordialement
--
Esox38
Si cela peut t'aider, il y a une façon de demander à excel de nous
aider a comprendre comment il fait pour résoudre une formule :
Si tu veux tenter l'expérience :
En A1 , tu entres la date de naissance
En B1 , la fonction =aujourdhui()
J'ai nommé (insertion / nom ) A1 -> Deb
B1 -> Fin
En D5, j'ai inséré la formule dans la cellule :
=SUPPRESPACE(SI(Deb-fin;TEXTE(DATEDIF(Deb;fin;"y");"[>1]0"" ans"";[>]""1
an"";")&TEXTE(DATEDIF(Deb;fin;"ym");"[>] 0"" mois "";
")&TEXTE(DATEDIF(Deb;fin;"md");"[>1]0"" jours"";[>]""1 jour"";");"0 jour"))
Et maintenant dans le module feuille où est ta cellule, tu insères la
procédure suivante :
'------------------------------
Sub test()
Range("D1").Activate
Application.Dialogs(xlDialogEvaluateFormula).Show
End Sub
'------------------------------
à l'aide du bouton "Evaluate", excel transforme le texte souligné
par la résolution qu'il a trouvé ....
"Esox38" a écrit dans le message de news:
Bonjour michdenis
Merci pour cette réponse rapide, cela fonctionne parfaitement, merci pour la
fonction AGE de AV et LL.
Autant j'arrive à comprendre ta macro, par contre pour la fonction dur
dur...
Cordialement
--
Esox38
"michdenis" a écrit :
> '---------------------------------------
> Private Sub CommandButton32_Click()
>
> Dim Déb As Date
> Dim Fin As Date
>
> If IsDate(TextBox186.Value) And _
> IsDate(TextBox187.Value) Then
> DateDebut = CDate(TextBox186.Value)
> Fin = CDate(TextBox187.Value)
> Déb = CDate(TextBox186.Value)
> TextBox190.Value = AGE(Déb, Fin)
> Else
> MsgBox "Un ou / et les 2 textbox contiennent des " & _
> "informations qui ne sont pas des dates pour excel."
> End If
>
> End Sub
> '-----------------------------------------------
>
> ' Proposé par AV et LL
>
> Function AGE(Déb As Date, Fin As Date) As String
> AGE = Evaluate("trim(if(" & Fin * 1 & "-" & _
> Déb * 1 & ",text(datedif(" & Déb * 1 & "," & _
> Fin * 1 & ",""y""),""[>1]0"""" ans"""";" & _
> "[>]""""1 an"""";"")&text(datedif(" & _
> Déb * 1 & "," & Fin * 1 & ",""ym"")," & _
> """[>] 0"""" mois """"; "")&text(datedif(" & _
> Déb * 1 & "," & Fin * 1 & ",""md"")," & _
> """[>1]0"""" jours"""";[>]""""1 jour"""";"")," & _
> """0 jour""))")
> End Function
> '---------------------------------------
>
>
>
>
>
> "Esox38" a écrit dans le message de
> news:
>
> Bonsoir,
>
> Depuis une semaine j'essaye de faire fonctionner la fonction suivante
> trouver dans un forum dans une UserForm avec 3 Textbox et un bouton pour
> lancer la fonction
>
> Function AGE(DateDebut As Date, DateFin As Date) As String
> Dim Elt As Long, D1 As Long, D2 As Long
> D1 = Int(DateDebut): D2 = Int(DateFin)
> 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
>
> Macro sur le bouton :
> Public DateDebut As Date, DateFin As Date
>
> Private Sub CommandButton32_Click()
> DateDebut = TextBox186.Value
> DateFin = TextBox187.Value
> TextBox190.Value = AGE(DateDebut, DateFin)
> End sub
>
> Et là j'ai un message d'erreur sur la ligne : Type incompatible (erreur
> 13)
> Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
> J'ai bien cherché à modifier les propriétés de mes variables mais rien à
> faire.
>
> Si vous avez une explication et/ou une solution merci d'avance.
>
> Cordialement
> --
> Esox38
>
>
Si cela peut t'aider, il y a une façon de demander à excel de nous
aider a comprendre comment il fait pour résoudre une formule :
Si tu veux tenter l'expérience :
En A1 , tu entres la date de naissance
En B1 , la fonction =aujourdhui()
J'ai nommé (insertion / nom ) A1 -> Deb
B1 -> Fin
En D5, j'ai inséré la formule dans la cellule :
=SUPPRESPACE(SI(Deb-fin;TEXTE(DATEDIF(Deb;fin;"y");"[>1]0"" ans"";[>]""1
an"";")&TEXTE(DATEDIF(Deb;fin;"ym");"[>] 0"" mois "";
")&TEXTE(DATEDIF(Deb;fin;"md");"[>1]0"" jours"";[>]""1 jour"";");"0 jour"))
Et maintenant dans le module feuille où est ta cellule, tu insères la
procédure suivante :
'------------------------------
Sub test()
Range("D1").Activate
Application.Dialogs(xlDialogEvaluateFormula).Show
End Sub
'------------------------------
à l'aide du bouton "Evaluate", excel transforme le texte souligné
par la résolution qu'il a trouvé ....
"Esox38" <Esox38@discussions.microsoft.com> a écrit dans le message de news:
3B10E04C-C2B4-4B72-8EAE-3DD9E9545518@microsoft.com...
Bonjour michdenis
Merci pour cette réponse rapide, cela fonctionne parfaitement, merci pour la
fonction AGE de AV et LL.
Autant j'arrive à comprendre ta macro, par contre pour la fonction dur
dur...
Cordialement
--
Esox38
"michdenis" a écrit :
> '---------------------------------------
> Private Sub CommandButton32_Click()
>
> Dim Déb As Date
> Dim Fin As Date
>
> If IsDate(TextBox186.Value) And _
> IsDate(TextBox187.Value) Then
> DateDebut = CDate(TextBox186.Value)
> Fin = CDate(TextBox187.Value)
> Déb = CDate(TextBox186.Value)
> TextBox190.Value = AGE(Déb, Fin)
> Else
> MsgBox "Un ou / et les 2 textbox contiennent des " & _
> "informations qui ne sont pas des dates pour excel."
> End If
>
> End Sub
> '-----------------------------------------------
>
> ' Proposé par AV et LL
>
> Function AGE(Déb As Date, Fin As Date) As String
> AGE = Evaluate("trim(if(" & Fin * 1 & "-" & _
> Déb * 1 & ",text(datedif(" & Déb * 1 & "," & _
> Fin * 1 & ",""y""),""[>1]0"""" ans"""";" & _
> "[>]""""1 an"""";"")&text(datedif(" & _
> Déb * 1 & "," & Fin * 1 & ",""ym"")," & _
> """[>] 0"""" mois """"; "")&text(datedif(" & _
> Déb * 1 & "," & Fin * 1 & ",""md"")," & _
> """[>1]0"""" jours"""";[>]""""1 jour"""";"")," & _
> """0 jour""))")
> End Function
> '---------------------------------------
>
>
>
>
>
> "Esox38" <Esox38@discussions.microsoft.com> a écrit dans le message de
> news:
> 63BD73D4-1E81-43EC-B748-5C769437031D@microsoft.com...
> Bonsoir,
>
> Depuis une semaine j'essaye de faire fonctionner la fonction suivante
> trouver dans un forum dans une UserForm avec 3 Textbox et un bouton pour
> lancer la fonction
>
> Function AGE(DateDebut As Date, DateFin As Date) As String
> Dim Elt As Long, D1 As Long, D2 As Long
> D1 = Int(DateDebut): D2 = Int(DateFin)
> 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
>
> Macro sur le bouton :
> Public DateDebut As Date, DateFin As Date
>
> Private Sub CommandButton32_Click()
> DateDebut = TextBox186.Value
> DateFin = TextBox187.Value
> TextBox190.Value = AGE(DateDebut, DateFin)
> End sub
>
> Et là j'ai un message d'erreur sur la ligne : Type incompatible (erreur
> 13)
> Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
> J'ai bien cherché à modifier les propriétés de mes variables mais rien à
> faire.
>
> Si vous avez une explication et/ou une solution merci d'avance.
>
> Cordialement
> --
> Esox38
>
>
Si cela peut t'aider, il y a une façon de demander à excel de nous
aider a comprendre comment il fait pour résoudre une formule :
Si tu veux tenter l'expérience :
En A1 , tu entres la date de naissance
En B1 , la fonction =aujourdhui()
J'ai nommé (insertion / nom ) A1 -> Deb
B1 -> Fin
En D5, j'ai inséré la formule dans la cellule :
=SUPPRESPACE(SI(Deb-fin;TEXTE(DATEDIF(Deb;fin;"y");"[>1]0"" ans"";[>]""1
an"";")&TEXTE(DATEDIF(Deb;fin;"ym");"[>] 0"" mois "";
")&TEXTE(DATEDIF(Deb;fin;"md");"[>1]0"" jours"";[>]""1 jour"";");"0 jour"))
Et maintenant dans le module feuille où est ta cellule, tu insères la
procédure suivante :
'------------------------------
Sub test()
Range("D1").Activate
Application.Dialogs(xlDialogEvaluateFormula).Show
End Sub
'------------------------------
à l'aide du bouton "Evaluate", excel transforme le texte souligné
par la résolution qu'il a trouvé ....
"Esox38" a écrit dans le message de news:
Bonjour michdenis
Merci pour cette réponse rapide, cela fonctionne parfaitement, merci pour la
fonction AGE de AV et LL.
Autant j'arrive à comprendre ta macro, par contre pour la fonction dur
dur...
Cordialement
--
Esox38
"michdenis" a écrit :
> '---------------------------------------
> Private Sub CommandButton32_Click()
>
> Dim Déb As Date
> Dim Fin As Date
>
> If IsDate(TextBox186.Value) And _
> IsDate(TextBox187.Value) Then
> DateDebut = CDate(TextBox186.Value)
> Fin = CDate(TextBox187.Value)
> Déb = CDate(TextBox186.Value)
> TextBox190.Value = AGE(Déb, Fin)
> Else
> MsgBox "Un ou / et les 2 textbox contiennent des " & _
> "informations qui ne sont pas des dates pour excel."
> End If
>
> End Sub
> '-----------------------------------------------
>
> ' Proposé par AV et LL
>
> Function AGE(Déb As Date, Fin As Date) As String
> AGE = Evaluate("trim(if(" & Fin * 1 & "-" & _
> Déb * 1 & ",text(datedif(" & Déb * 1 & "," & _
> Fin * 1 & ",""y""),""[>1]0"""" ans"""";" & _
> "[>]""""1 an"""";"")&text(datedif(" & _
> Déb * 1 & "," & Fin * 1 & ",""ym"")," & _
> """[>] 0"""" mois """"; "")&text(datedif(" & _
> Déb * 1 & "," & Fin * 1 & ",""md"")," & _
> """[>1]0"""" jours"""";[>]""""1 jour"""";"")," & _
> """0 jour""))")
> End Function
> '---------------------------------------
>
>
>
>
>
> "Esox38" a écrit dans le message de
> news:
>
> Bonsoir,
>
> Depuis une semaine j'essaye de faire fonctionner la fonction suivante
> trouver dans un forum dans une UserForm avec 3 Textbox et un bouton pour
> lancer la fonction
>
> Function AGE(DateDebut As Date, DateFin As Date) As String
> Dim Elt As Long, D1 As Long, D2 As Long
> D1 = Int(DateDebut): D2 = Int(DateFin)
> 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
>
> Macro sur le bouton :
> Public DateDebut As Date, DateFin As Date
>
> Private Sub CommandButton32_Click()
> DateDebut = TextBox186.Value
> DateFin = TextBox187.Value
> TextBox190.Value = AGE(DateDebut, DateFin)
> End sub
>
> Et là j'ai un message d'erreur sur la ligne : Type incompatible (erreur
> 13)
> Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
> J'ai bien cherché à modifier les propriétés de mes variables mais rien à
> faire.
>
> Si vous avez une explication et/ou une solution merci d'avance.
>
> Cordialement
> --
> Esox38
>
>