![]() |
| |||||||
| S'inscrire | FAQ | Membres | Calendrier | Recherche | Messages du jour | Marquer les forums comme lus |
![]() |
| LinkBack | Outils de la discussion | Modes d'affichage |
| |||
| 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 |
| | ||||
| ||||
| |
| |||
| Bonsour® Esox38 avec ferveur ;o))) vous nous disiez : > 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. D1 et D2 sont évalués comme étant des références de cellules remplacer D1 et D2 respectivement par Ddeb et Dfin -- -- ***+ ;o))) |
| |||
| '--------------------------------------- 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 |
| |||
| 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" <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 > > |
| |||
| Bonsoir, Curieux, je vais essayer. Merci! -- Esox38 "michdenis" a écrit : > 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 > > > > > > |
| |
| |
![]() |
| Tags: age, fonction, textbox, variable, vba |
| Outils de la discussion | |
| Modes d'affichage | |
| |
| ||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Re: Fichier Ini : récupération variable dans textbox | Christophe Mathon | Newsgroup microsoft.public.fr.excel | 0 | 30/07/2008 10h53 |
| Données avec décimales non acceptées dans une TextBox | Tchouny | Newsgroup microsoft.public.fr.dotnet.vb | 2 | 12/10/2007 16h32 |
| variable dans fonction date | titanlg | Newsgroup fr.comp.lang.javascript | 1 | 02/09/2007 02h14 |
| Passer une variable dans une autre variable | FdeCourt | Newsgroup fr.comp.os.msdos | 2 | 18/06/2007 08h34 |
| utiliser une Textbox dans les 2 sens avec BD ? | jp magne | Newsgroup microsoft.public.fr.dotnet.adonet | 2 | 04/09/2006 10h16 |