Bonjour

je remplis une base de données d'adhérents et je souhaiterais qu'access me détermine un champ à partir d'un autre champ.
Ainsi, je demande la date de naissance d'une personne et j'aimerais qu'une fois renseigné ce champ, je puisse avoir un autre champ "Categorie" qui prenne automatiquement la valeur suivant la date de naissance.
Pour se faire, j'ai utilisé le code ci-dessous :
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
Private Sub Datenaissance_BeforeUpdate(Cancel As Integer)
Dim Age As Long
Age = Year(Date) - Year(Datenaissance)
Select Case Age
    Case Is <= 6
    Categorie = "Baby volley"
    Case Is = 7, 8
    Categorie = "Pupille"
    Case Is = 9, 10
    Categorie = "Poussin"
    Case Is = 11, 12
    Categorie = "Benjamin"
     Case Is = 13, 14
    Categorie = "Minime"
     Case Is = 15, 16
    Categorie = "Cadet"
    Case Is = 17, 18
    Categorie = "Junior"
    Case Is = 19, 20
    Categorie = "Espoir"
    Case Is > 20
    Categorie = "Sénior"
    End Select
End Sub
Mais je me rends compte que ce code n'est adapté que pour des inscriptions jusqu'en décembre de cette année : en effet, en janvier le calcul donnerait un résultat faux ; c'est tout le problème des catégories qui marchent en année civile mais qui sont valables en année scolaire !
De plus, pour les adhérents qui se réinscriraient l'année prochaine, la catégorie n'est pas mise à jour avec ce code.

J'aimerais donc améliorer les choses de telle façon :
- que la catégorie soit calculée du 1er juillet de l'année n jusqu'à juin de l'année n+1
- quel la catégorie soit mise à jour à partir de juin de l'année n+1 sur la prochaine saison.
J'avoue que je sèche un peu sur le code à écrire.

Si vous pouviez m'aider, ce serait sympa.