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

Microsoft Office Discussion :

Calcul écart de date dans textbox [2010]


Sujet :

Microsoft Office

  1. #1
    Membre du Club Avatar de orcinus
    Homme Profil pro
    cadres
    Inscrit en
    Mai 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : cadres
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2008
    Messages : 95
    Points : 59
    Points
    59
    Par défaut Calcul écart de date dans textbox
    bonjour,

    je regarde partout mais je ne trouve pas de solution à mon problème.
    j'ai une textbox avec une date d'embauche.
    dans une autre texbox je souhaiterais calculer la différence en nombre d'année par rapport à la date du jour.
    Si quelqu’un a la solution ou peux m'indiquer ou je peux me renseigner.
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, formule plus complète que demandé, à adapter au contexte, à voir aussi pour l'histoire de +/- 1 ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Option Explicit
     
    Function DiffDateAMJ(DateDebut As Date, DateFin As Date) As String
    Dim NbAns As Long, NbMois As Long, NbJours As Long
    Dim Tmp As Date, sA As String, sM As String, sJ As String
     
        Tmp = DateSerial(Year(DateFin), Month(DateDebut), Day(DateDebut))
        NbAns = Year(DateFin) - Year(DateDebut) + (Tmp > DateFin)
        NbMois = Month(DateFin) - Month(DateDebut) - (12 * (Tmp > DateFin))
        NbJours = Day(DateFin) - Day(DateDebut) + 1    ' [ Date Début, Date Fin ]
        'NbJours = Day(DateFin) - Day(DateDebut)       ' [ Date Début, Date Fin [
     
        If NbJours < 0 Then
            NbMois = NbMois - 1
            NbJours = Day(DateSerial(Year(DateFin), Month(DateFin), 0)) + NbJours
        End If
     
        If NbAns = 0 Then sA = "" Else sA = NbAns & "a "
        If NbMois = 0 Then sM = "" Else sM = NbMois & "m "
        If NbJours = 0 Then sJ = "" Else sJ = NbJours & "j"
     
        DiffDateAMJ = Trim$(sA & sM & sJ)
    End Function
    Images attachées Images attachées  

  3. #3
    Membre du Club Avatar de orcinus
    Homme Profil pro
    cadres
    Inscrit en
    Mai 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : cadres
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2008
    Messages : 95
    Points : 59
    Points
    59
    Par défaut
    bonjour,
    déjà merci pour le temps que vous avez pris pour me répondre.
    Je me permet de vous redemander une solution à mon problème.
    Ma précédente demande n'était pas correct je pense.
    Pour cela je met une capture d'écran de mon useform.
    La date d'embauche sera rentrée manuellement, par contre le résultat doit s'afficher dans la texbox : ancienneté.
    Le calcul devras être la différence entre (la date d'embauche et aujourd'hui) et le résultat en nombre d'année.
    je sais le faire dans un tableau excel mais pas directement dans une userform.
    Encore merci pour l'attention portée à ma demande.
    Dans l'attente d'une future réponse.
    Merci à vous
    Nom : Capture.JPG
Affichages : 683
Taille : 113,9 Ko

  4. #4
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Re, à adapter au contexte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Option Explicit
     
    Private Function DiffDateAMJ(DateDebut As Date, DateFin As Date) As String
    Dim NbAns As Long, NbMois As Long, NbJours As Long
    Dim Tmp As Date, sA As String, sM As String, sJ As String
     
        Tmp = DateSerial(Year(DateFin), Month(DateDebut), Day(DateDebut))
        NbAns = Year(DateFin) - Year(DateDebut) + (Tmp > DateFin)
        NbMois = Month(DateFin) - Month(DateDebut) - (12 * (Tmp > DateFin))
        NbJours = Day(DateFin) - Day(DateDebut) + 1
     
        If NbJours < 0 Then
            NbMois = NbMois - 1
            NbJours = Day(DateSerial(Year(DateFin), Month(DateFin), 0)) + NbJours
        End If
     
        If NbAns = 0 Then sA = "" Else sA = NbAns & "a "
        If NbMois = 0 Then sM = "" Else sM = NbMois & "m "
        If NbJours = 0 Then sJ = "" Else sJ = NbJours & "j"
     
        DiffDateAMJ = Trim$(sA & sM & sJ)
    End Function
     
    Private Sub TextBox1_Change()
        If IsDate(TextBox1.Text) Then
            TextBox2.Text = DiffDateAMJ(TextBox1.Text, Date)
        End If
    End Sub
    Images attachées Images attachées  

  5. #5
    Membre du Club Avatar de orcinus
    Homme Profil pro
    cadres
    Inscrit en
    Mai 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : cadres
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2008
    Messages : 95
    Points : 59
    Points
    59
    Par défaut
    bonjour,
    un grand merci pour votre contribution.
    Le code fonctionne est j'ai pu l'adapter a ce que j'avais besoin.
    Que demander de plus
    je ne n'aurais jamais trouver seul je pense, pourtant je cherche.

  6. #6
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Re, beaucoup plus léger, sans fonction externe, si tu ne veux vraiment que l'année. Attention quand même au résultat ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub TextBox1_Change()
        If IsDate(TextBox1.Text) Then
             TextBox3.Text = DateDiff("yyyy", TextBox1.Text, Date)
        End If
    End Sub
    Images attachées Images attachées  

  7. #7
    Membre du Club Avatar de orcinus
    Homme Profil pro
    cadres
    Inscrit en
    Mai 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : cadres
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2008
    Messages : 95
    Points : 59
    Points
    59
    Par défaut
    bonjour,
    merci beaucoup.Je vais tester cela.

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

Discussions similaires

  1. afficher le calcul de 2 dates dans une textbox
    Par popo38 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/09/2011, 11h26
  2. Masque de saisie date dans textbox
    Par akmer dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/08/2008, 13h15
  3. Calcul d'écart de date dans BO
    Par tang121 dans le forum Deski
    Réponses: 8
    Dernier message: 20/12/2007, 09h43
  4. afficher dates dans textbox d'un Userform
    Par newsinfos dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/11/2007, 10h41
  5. affichage et calcule de la date dans un tableau
    Par argon dans le forum Interfaces Graphiques en Java
    Réponses: 35
    Dernier message: 22/06/2006, 10h51

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