Niouzes.org  

Précédent   Niouzes.org > Forum > Newsgroup microsoft.public.fr.* 1 Forum > Newsgroup microsoft.public.fr.excel
S'inscrire FAQ Membres Calendrier Recherche Messages du jour Marquer les forums comme lus



Réponse

 

LinkBack Outils de la discussion Modes d'affichage
  #1 (permalink)  
Vieux 22/07/2008, 21h21
Esox38
 
Messages: n/a
Par défaut Fonction AGE avec variable dans TextBox en VBA

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
Réponse avec citation
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Niouzes.org
Standard Sponsored Links

  #2 (permalink)  
Vieux 22/07/2008, 21h39
Modeste
 
Messages: n/a
Par défaut Re: Fonction AGE avec variable dans TextBox en VBA

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)))

Réponse avec citation
  #3 (permalink)  
Vieux 22/07/2008, 23h18
michdenis
 
Messages: n/a
Par défaut Re: Fonction AGE avec variable dans TextBox en VBA

'---------------------------------------
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

Réponse avec citation
  #4 (permalink)  
Vieux 23/07/2008, 09h36
Esox38
 
Messages: n/a
Par défaut Re: Fonction AGE avec variable dans TextBox en VBA

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
>
>

Réponse avec citation
  #5 (permalink)  
Vieux 23/07/2008, 12h00
michdenis
 
Messages: n/a
Par défaut Re: Fonction AGE avec variable dans TextBox en VBA

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
>
>


Réponse avec citation
  #6 (permalink)  
Vieux 23/07/2008, 18h03
Esox38
 
Messages: n/a
Par défaut Re: Fonction AGE avec variable dans TextBox en VBA

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
> >
> >

>
>

Réponse avec citation
 
Réponse
Tags: , , , ,



Outils de la discussion
Modes d'affichage

Règles de messages
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Discussions similaires

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


Fuseau horaire GMT. Il est actuellement 22h55.

Italiano - German - English - Español


Édité par : vBulletin® version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc. Tous droits réservés.
Version française #13 par l'association vBulletin francophone


Politique - Droit - Philosophie - Football - Medicine - Française - Bricolage - Photo - Mac Os X - Divers - Physique - Jardinage
Mecanique - Moto - Photographie - Rail - Route - Aviation - Cinema - Linux - Psychanalyse - Finance - Enigmes - Rugby
Environnement - Histoire - Programmes TV - Education - Travail - Voyages - Windows - Immobilier - Cuisine
Windows XP - Excel - Word - Outlook - Access - Internet Explorer - Office - Vista

Page generated in 0,36842 seconds with 11 queries