Userform - Calcul automatique de date

wizard0147

XLDnaute Occasionnel
Bonjour à tous,

J'ai créé un document Word avec Userform mais une partie du code me pose problème.

Le userform se lance à l'ouverture du document. On renseigne la date de production d'un produit ainsi que la durée de vie (Shelf life dans le doc).
En cliquant sur OK, la date de production et la DLUO (qui correspond à la date de production + durée de vie) sont insérées sur leurs signets.
Malheureusement, je n'arrive pas à coder la partie VBA qui correspond date de production + shelf life.

Je vous ai mis un exemple en pièce jointe.

J'espère avoir été clair.

Merci d'avance pour votre aide
 

Pièces jointes

  • Date de production.doc
    37.5 KB · Affichages: 169

Modeste

XLDnaute Barbatruc
Re : Userform - Calcul automatique de date

Bonjour wizard0147,

Tu sais sans doute que ce que tu encodes dans un TextBox est .. du texte ;) Partant de là, ajoute (avant le test de ton OptionButton1) un petit
VB:
Dt = CDate(TextBox1)
Dt sera donc une variable qui contiendra le contenu de ton TextBox, sous forme de vraie date. Attention, cette instruction provoquera une erreur, si ce qui est saisi dans la zone de texte n'est pas une date!


Une fois cette manipulation réalisée, le calcul de l'échéance à un an pourrait se faire en ajoutant 365, mais si tu as besoin de calculer une date précise, même les années bisextiles, tu peux écrire:
VB:
DLUORange.Text = DateSerial(Year(Dt) + 1, Month(Dt), Day(Dt))
Je te laisse trouver le mode de calcul pour l'échéance à deux ans :)

Tu nous diras si ça fonctionne comme tu veux?
 

mromain

XLDnaute Barbatruc
Re : Userform - Calcul automatique de date

Bonsoir wizard0147, Modeste :)

Une autre solution est d'utiliser la fonction Ce lien n'existe plus qui permet d'ajouter à une date des secondes, minutes, heures, jours, semaines, mois, trimestres et années.


A+
 
Dernière édition:

mromain

XLDnaute Barbatruc
Re : Userform - Calcul automatique de date

Coucou Modeste :)

Le lien d'aide vient effectivement du F1 d'un office 2013.
Par contre, je crois que DateAdd est intrinsèque à Ce lien n'existe plus. Sa notation complète est VBA.DateTime.DateAdd.
DateTime contient plein de fonctions de manipulation de dates qui sont très pratiques.

Bonne soirée :eek:

A+
 

Discussions similaires

Réponses
14
Affichages
764

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA