Bonjour,

Je souhaite calculer automatiquement la validité d'une date de passeport sur un userform

J'entre ma date dans le Me.txtPasseportDate et je souhaite que dans txtPassValid s'affiche la date avec 10 ans de plus
Sachant que mes variable sont déclarrées
Dim DatePass As Date
Dim IntervalTypePass As String
Dim NumberPass As Integer

J'ai donc écrit ceci :
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
 
Private Sub UserForm_Initialize()
 
  Set f = Sheets("BDdata")
  Set bd = Range("a2:b" & [A65000].End(xlUp).Row)
  a = Application.index(bd, , 1)
  Tri a, 1, 1, UBound(a)
  '--villes +codes postaux
  ListeVille = Range("villeCodePostal").Value
  Me.ComboVille.List = ListeVille
  b = Application.index([villeCodePostal], Evaluate("Row(1:" & [villeCodePostal].Rows.Count & ")"), Array(2, 1))
  Tri b, 1, 1, UBound(b)
  Me.CodePostal.List = b
  Me.txtDateDeb.Tag = Date
  Me.txtDateDeb.Value = Format(CDate(Me.txtDateDeb.Tag), "dd/mm/yyyy")
  Me.txtDateFin.Tag = Date
  Me.txtDateFin.Value = Format(CDate(Me.txtDateFin.Tag), "dd/mm/yyyy")
  Me.txtBirthday.Tag = Date
  Me.txtBirthday.Value = Format(CDate(Me.txtBirthday.Tag), "dd/mm/yyyy")
  Me.txtPasseportDate.Tag = Date
  Me.txtPasseportDate.Value = Format(CDate(Me.txtPasseportDate.Tag), "dd/mm/yyyy")
  Me.txtPassValid.Tag = Date
  IntervalTypePass = "y"    ' "m" specifies months as interval.
  NumberPass = 15
  DatePass = Me.txtPasseportDate.Value
  Me.txtPassValid.Value = DateAdd(IntervalTypePass, NumberPass, DatePass)
  Me.txtPassValid.Value = Format(CDate(Me.txtPassValid.Tag), "dd/mm/yyyy")
End Sub
Pourriez-vous m'aider en me disant pourquoi le calcul ne se fait pas ?

Merci