Bonjour
Le but d'une application est de durer dans le temps, sans avoir à retoucher le code à chaque changement d'année.
Souvent on choisit une année à l'aide d'une liste déroulante, ce que l'on fait c'est que dans la propriété contenu (RowSource) on saisi les années.
Ce que je vous propose, c'est que cela soit fait automatiquement.
Dans les deux cas que je vais vous proposer, il faut que la propriété Origine Source de la liste déroulante soit à Listes Valeurs.
Version Access 2002, 2003
Version Access 2000
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub cboAnnee_GotFocus() Dim i As Integer Me.cboAnnee.RowSource = "" For i = 1 To 5 Me.cboAnnee.AddItem Year(DateAdd("yyyy", i - 2, Date)) Next i End Sub
Je vous propose cette version, car la méthode Additem n'est apparue qu'à partir de 2002.
Ces exemples vont vous donner 5 années, de 2006 à 2010, l'année prochaine en 2008, vous aurez donc de 2007 à 2011.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub cboAnnee2_GotFocus() Dim i As Integer Dim strSource As String 'Me.cboAnnee2.RowSource = "" For i = 1 To 5 strSource = strSource & ";" & Year(DateAdd("yyyy", i - 2, Date)) Next i Me.cboAnnee2.RowSource = Right(strSource, Len(strSource) - 1) End Sub
Je n'ai pas testé en versions 97 et 2007, je pense que la version 2000 doit fonctionner en 97.
De plus la version 2000, fonctionne sous 2002 et 2003.
Starec
Partager