Résolu Calcul date d'expirartion automatiquement

FaruSZ

XLDnaute Junior
Bonjour le forum,
J'ai un tableau avec des formations avec leurs dates associées et je voudrai calculer la validité de chaque formation automatiquement en sachant que chaque formation a une validité de 3 ans, par ex si j'ai une formation qui a été faite en 01/01/2020 je veux écrire un code qui me calcul automatiquement la validité a partir de cette date.

Dans le fichier joint les formations sont dans la colonne A10, date d'obtention A11 et validité qui sera déduite automatiquement en A15.
l'ajout des formations se fait après avoir ouvrir le UF_Profil_Edit1 en choisissant une personne et on clique sur le bouton + pour ajouter une formation.
Merciii pour vos propositions
 
Dernière édition:

FaruSZ

XLDnaute Junior
Bonjour FruzSZ, Bonjour Chris,
Ou en B15 : =B14+1095
Bonjour tout le monde
moi je veux le rajouter dans mon code en cliquant sur bouton j'ajoute une formation avec la date d'obtention puis la validité se deduit automatiquement et se rajoute en ligne 12, j'ai pas su comment le faire, sachant que la validté est d'une annee apartir de la date d'obtention

Private Sub CommandButton1_Click()
repertoire = Application.GetOpenFilename()
Set ws = ActiveWorkbook.Worksheets(Personne)
Form_Intern =UF_Profil_Edit1.ListBox_Form_Intern.List(UF_Profil_Edit1.ListBox_Form_Intern.ListIndex, 0)
Date_Form_Intern=UF_Profil_Edit1.ListBox_Form_Intern.List(UF_Profil_Edit1.ListBox_Form_Intern.ListIndex, 1)
fin_col_Form_Intern = ws.Cells(10, 256).End(xlToLeft).Column
ws.Cells(10, fin_col_Form_Intern + 1) = Form_Intern
ws.Cells(11, fin_col_Form_Intern + 1) = CDate(Date_Form_Intern)
ws.Cells(12,fin_col_Form_Intern+1)= ......
ws.Cells(13, fin_col_Form_Intern + 1) = repertoire
Me.Hide
Unload Me

End Sub
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour FaruSZ,
Si Date_Form_Intern est la date initiale ( au vu du code je n'en sais rien )
Alors la date de péremption sera :
VB:
ws.Cells(12,fin_col_Form_Intern+1)= CDate(Date_Form_Intern+1095)
A noter que c'est approximatif car 1095 ne tient pas compte des années bisextiles.
 

FaruSZ

XLDnaute Junior
Bonjour FaruSZ,
Si Date_Form_Intern est la date initiale ( au vu du code je n'en sais rien )
Alors la date de péremption sera :
VB:
ws.Cells(12,fin_col_Form_Intern+1)= CDate(Date_Form_Intern+1095)
A noter que c'est approximatif car 1095 ne tient pas compte des années bisextiles.
J'ai rajouté la ligne
ws.Cells(12,fin_col_Form_Intern+1)= CDate(Date_Form_Intern+1095)
Il m'indique une erreur : Incompatibilité de type
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
De quel type est Date_Form_Intern ?
Si c'est du text, alors essayez :
VB:
ws.Cells(12,fin_col_Form_Intern+1)= CDate(Date_Form_Intern) + 1095
 
Dernière édition:

chris

XLDnaute Barbatruc
Bonjour à tous

VB:
ws.Cells(12,fin_col_Form_Intern+1)=Application.EDate(CDate(Date_Form_Intern), 36)
 

dysorthographie

XLDnaute Occasionnel
VB:
Dim D_Formation As Date, D_validiter As Date
 D_Formation = CDate(Date_Form_Intern)
 D_validiter = DateSerial(Year(D_Formation) + 3, Month(D_Formation), Day(D_Formation))
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas