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