Bonjour,

Je fais une appli de gestion de basculement d'objets telecoms et j'aimerais permettre la consultation de statistiques, notamment le nombre de basculement par mois ou par année.

J'ai donc fait une liste déroulante pour les années, une pour les mois et un bouton permettant d'afficher le résultat dans une zone de texte.

J'arrive cependant à gérer une seule liste déroulante pour afficher un résultat avec ce code:

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
29
 
Private Sub rslt_stat_Click()
 
Me.Requery
 
Dim SQL As String
 
If lst_annee = "2014" Then
SQL = "SELECT Avg(statistiques1.[saisie-ouv_com]) AS [MoyenneDesaisie-ouv_com] FROM statistiques1 Where Date_ouv_com = 2014"
ElseIf lst_annee = "2015" Then
SQL = "SELECT Avg(statistiques1.[saisie-ouv_com]) AS [MoyenneDesaisie-ouv_com] FROM statistiques1 Where Date_ouv_com = 2015"
ElseIf lst_annee = "2016" Then
SQL = "SELECT Avg(statistiques1.[saisie-ouv_com]) AS [MoyenneDesaisie-ouv_com] FROM statistiques1 Where Date_ouv_com = 2016"
'Me.rslt_nbre_migr.Value = SQL1
ElseIf lst_annee = "2017" Then
SQL = "SELECT Avg(statistiques1.[saisie-ouv_com]) AS [MoyenneDesaisie-ouv_com] FROM statistiques1 Where Date_ouv_com = 2017"
'Me.rslt_nbre_migr.Value = SQL2
ElseIf lst_annee = "2018" Then
SQL = "SELECT Avg(statistiques1.[saisie-ouv_com]) AS [MoyenneDesaisie-ouv_com] FROM statistiques1 Where Date_ouv_com = 2018"
'Me.rslt_nbre_migr.Value = SQL3
ElseIf lst_annee = "Toute" Then
SQL = "SELECT Avg(statistiques1.[saisie-ouv_com]) AS [MoyenneDesaisie-ouv_com] FROM statistiques1 "
'Me.rslt_nbre_migr.Value = SQL4
 
DoCmd.RunSQL
 
End If
 
End Sub
N'y aurait t'il pas une solution plus pratique et moins longue que des conditions If ? N'aurais pas intérêt à faire une seule liste déroulante avec mois et années concaténés. Je bloque beaucoup sur la question, si vous avez des pistes à étudier ou des tutos disponibles? (j'ai pas mal cherché mais pas trouver du tout ce que je voulais...)

Merci