Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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?
 

wizard0147

XLDnaute Occasionnel
Re : Userform - Calcul automatique de date

Désolé, je débute en VBA. En fait, j'adapte du code que je trouve sur la toile
J'ai fait les modifications et ça marche super !

Un grand merci pour ton aide
 

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

A+
 

Discussions similaires

Réponses
14
Affichages
764
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…