Bonjour la communauté,

je suis entrain de modifier un code existant qui fonctionne actuellement.
Sauf que ce code fonctionne avec trois requêtes, et vu que ce code ce mets sur un tableau de bord, je souhaite obtenir quelque chose de beaux, donc j'ai effectué un code pour obtenir une phrase correcte qui éliminait les phrases ou le champ est égal à 0.

Ci-dessous le code qui fonctionne :
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Public Sub InfosChq(TypeAffich As Integer)
 
    Dim oDb As DAO.Database
    Dim oRst As DAO.Recordset
 
    Dim StrSynt As String       ' variable résultat obtenu.
 
    Dim StrNbChq As String     ' variable nombre de chèque non encaissé.
    Dim IntMtChq As Currency   ' variable montant total des chèques non encaissés.
 
    Dim StrNbChqE As String     ' variable nombre de chèque émis non encaissé.
    Dim IntMtChqE As Currency   ' variable montant total des chèques émis non encaissés.
 
    Dim StrNbChqSup3M As String     ' variable nombre de chèque émis non encaissé.
    Dim IntMtChqSup3m As Currency   ' variable montant total des chèques émis non encaissés.
 
 
 
    Set oDb = CurrentDb
 
    Set oRst = oDb.OpenRecordset("ChqNonEncaisse", dbOpenSnapshot) 'Appel de la réquete ChqNonEncaisse
            StrNbChq = Nz(oRst.Fields(0), 0) 'Attribue à la variable le résultat de la colonne 1 de la requête ChqNonEncaisse
            IntMtChq = Nz(oRst.Fields(1), 0) 'Attribue à la variable le résultat de la colonne 2 de la requête ChqNonEncaisse
 
    Set oRst = oDb.OpenRecordset("ChqEmis", dbOpenSnapshot) 'Appel de la réquete ChqEmis
            StrNbChqE = Nz(oRst.Fields(0), 0) 'Attribue à la variable le résultat de la colonne 1 de la requête ChqEmis
            IntMtChqE = Nz(oRst.Fields(1), 0) 'Attribue à la variable le résultat de la colonne 2 de la requête ChqEmis
 
    Set oRst = oDb.OpenRecordset("ChqNonEncaisseSup3mois", dbOpenSnapshot) 'Appel de la réquete ChqEmis
            StrNbChqSup3M = Nz(oRst.Fields(0), 0) 'Attribue à la variable le résultat de la colonne 1 de la requête ChqEmis
            IntMtChqSup3m = Nz(oRst.Fields(1), 0) 'Attribue à la variable le résultat de la colonne 2 de la requête ChqEmis
 
 
 
    Select Case StrNbChq
        Case Is = 0   'S'il n'y a pas de chèque en attente d'encaissement
           StrSynt = "Aucun chèque en attente d'encaissement actuellement."
 
        Case Is = 1   'S'il n'y a qu'un chèque en attente d'encaissement
            StrSynt = StrSynt & "    - " & StrNbChq & " chèque non encaissé actuellement pour un montant de " & Format(IntMtChq, "Currency") & vbCrLf _
 
 
     Case Else
           'Crée une boucle qui va déterminer les résultats sous la forme :
           ' - Chèques non encaissé :
           '    - StrNbChq chèque(s) non encaissé pour un total de IntMtChq à ce jour
           '      dont StrNbChqE chèque(s) émis pour IntMtChqE.
        StrSynt = ""
 
          While Not oRst.EOF
 
                 StrSynt = StrSynt & "    - " & StrNbChq & " chèques non encaissés actuellement pour un montant total de " & Format(IntMtChq, "Currency") & vbCrLf _
                                    & "  dont " & StrNbChqE & " chèques émis pour un solde de " & Format(IntMtChqE, "Currency") & " ." & vbCrLf _
                                    & " Nous avons " & StrNbChqSup3M & " chèques d'un solde de " & Format(IntMtChqSup3m, "Currency") & " qui sont en attente d'encaissement depuis au moins 3 mois."
 
                 oRst.MoveNext
          Wend
 
    End Select
 
 
    'Comme Source de la Zone de Texte, mise en place d'un titre + le résultat de la boucle.
    Select Case TypeAffich
        Case Is = -1    ''TypeAffich :  -1 Pour Zone de texte
           Form_Menu.TxtChq.ControlSource = _
           "=" & """" & StrSynt & """"
    End Select
 
    'Fermetures des connexions
    oRst.Close
    oDb.Close
    Set oDb = Nothing
    Set oRst = Nothing
 
 
End Sub

Donc le but est de développer la partie des "select case" via des If de la façon suivante en français :
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
30
31
32
33
34
35
36
37
38
 
Si nombre de Chéque Encaissé = O
	alors Aucun chèque en attente d'ecencaissement actuellement.
 
	Sinon Si nombre de Chéque Encaissé = chq emis = chqsup3mois = 1
		alors 	1 chéque émis de plus de 3 mois en attente d'encaissemnet actuellement
 
	Sinon Si nombre de Chéque Encaissé = chqsup3mois = 1 et chq emis = 0 
		alors 	1 chéque reçu de plus de 3 mois en attente de d'encaissement actuellement
 
	Sinon Si nombre de Chéque Encaissé = chq emis = 1 et chqsup3mois = 0
		alors 	1 chéque émis en attente d'encaissement actuellement
 
	Sinon Si nombre de Chéque Encaissé = 1 et chq emis = chqsup3mois = 0
		alors 	1 chéque reçu en attente d'encaissement actuellement
 
 
		Sinon Si nombre de Chéque Encaissé > 1 et chq emis = chqsup3mois = 0
			alors 	X chéques reçus en attente d'encaissement actuellement.
 
		Sinon Si nombre de Chéque Encaissé > 1 et chq emis = 1 et chqsup3mois = 0
			alors 	X chéques en attente d'encaissement actuellement dont 1 chèquen émis.
 
		Sinon Si nombre de Chéque Encaissé = chq emis > 1 et chqsup3mois = 0
			alors 	X chéques en attente d'encaissement actuellement dont X chèques émis.
 
 
			Sinon Si nombre de Chéque Encaissé > 1 et chq emis = chqsup3mois = 1
				alors 	X chéques non encaissés actuellement dont 1 chèque émis.
					Nous avons un chèque en attente d'encaissement depuis plus de 3 mois.
 
			Sinon Si nombre de Chéque Encaissé = chq emis > 1 et chqsup3mois = 1
				alors 	X chéques non encaissés actuellement dont X chèque émis.
					Nous avons un chèque en attente d'encaissement depuis plus de 3 mois.
 
			Sinon Si nombre de Chéque Encaissé = chq emis = chqsup3mois > 1
				alors 	X chéques non encaissés actuellement dont X chèque émis.
					Nous avons X chèques en attente d'encaissement depuis plus de 3 mois.

Et en code j'ai mis 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
If StrNbChq = O
	Then StrSynt = "Aucun chèque en attente d'ecencaissement actuellement."
 
	Else If StrNbChq = StrNbChqE = StrNbChqSup3M = 1
		then 	StrSynt = "1 chéque émis de plus de 3 mois en attente d'encaissemnet actuellement"
 
	Else If StrNbChq = StrNbChqSup3M = 1 AND StrNbChqE = 0 
		then	StrSynt = "1 chéque reçu de plus de 3 mois en attente de d'encaissement actuellement"
 
	Else If StrNbChq = StrNbChqE = 1 AND  StrNbChqSup3M = 0
		then 	StrSynt = "1 chéque émis en attente d'encaissement actuellement"
 
	Else If StrNbChq = 1 AND  StrNbChqE = StrNbChqSup3M = 0
		then 	StrSynt = "1 chéque reçu en attente d'encaissement actuellement"
 
 
		Else If StrNbChq > 1 AND  StrNbChqE = StrNbChqSup3M = 0
			then 	StrSynt = & IntMtChq & "chéques reçus en attente d'encaissement actuellement."
 
		Else If StrNbChq > 1 AND  StrNbChqE = 1 AND  StrNbChqSup3M = 0
			then	StrSynt = & IntMtChq & "chéques en attente d'encaissement actuellement dont 1 chèquen émis."
 
		Else If StrNbChq = StrNbChqE > 1 AND  StrNbChqSup3M = 0
			then 	StrSynt = & IntMtChq & "chéques en attente d'encaissement actuellement dont" & IntMtChqE & "chèques émis."
 
 
			Else If StrNbChq > 1 AND  StrNbChqE = StrNbChqSup3M = 1
				then 	StrSynt = & IntMtChq & "chéques non encaissés actuellement dont 1 chèque émis." & vbCrLf _
						  & "Nous avons un chèque en attente d'encaissement depuis plus de 3 mois."
 
			Else If StrNbChq = StrNbChqE > 1 AND  StrNbChqSup3M = 1
				then 	StrSynt = & IntMtChq & "chéques non encaissés actuellement dont" & IntMtChqE & "chèque émis." & vbCrLf _
						  & "Nous avons un chèque en attente d'encaissement depuis plus de 3 mois."
 
			Else If StrNbChq = StrNbChqE = StrNbChqSup3M > 1
				then 	StrSynt = & IntMtChq & "chéques non encaissés actuellement dont" & IntMtChqE & "chèque émis." & vbCrLf _
						  & "Nous avons" & IntMtChqSup3m & "chèques en attente d'encaissement depuis plus de 3 mois."
			End If
			End If
			End If
		End If
		End If
		End If
	End If
	End If
	End If
	End If
End If
Je voulais savoir si mettre autant de condition est possible dans un codage ?
Et si oui, est ce que code semble t-il être cohérent, et correct ?

Merci pour les réponses et vos aides que je pourrai obtenir.

Bien cordialement,
Benjamin.