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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319
| Avec le formulaire frmAchatsGlobaux:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="getMonRuban2">
<ribbon startFromScratch="true">
<tabs>
<!--Achats globaux -->
<tab id="achatsGlobaux" label="Achats globaux" visible="true">
<group id="idAchatsGlobaux" label="Les achats globaux">
<box id="id_AchatsGlobaux" boxStyle="vertical">
<button id="Achats_globaux" imageMso="FileOpenDatabase" label="Voir les achats globaux" size="normal" onAction="action_Ouvrir_frmAchatsGlobaux"/>
<!--<Button id="id_Recherche" imageMso="FindDialog" label="Recherche" size="normal"/>-->
<button id="DépensesParDates" imageMso="DataTypeTime" label="Calendrier Dépenses" size="normal" onAction="action_Ouvrir_frmDateDépenses"/>
<comboBox id="cmbMois01" label="Liste Mois:" getItemCount="getMoisCount" getItemLabel="getMoisLabel" getText="onGetTextMois" onChange="onChangeMois"/>
</box>
<!-- Filtrer -->
<separator id="sepBeforeSort_2" />
<toggleButton idMso="SortUp" />
<toggleButton idMso="SortDown" />
<button idMso="SortRemoveAllSorts" />
<!-- Trier -->
<separator id="sepBeforeFilter_2" />
<menu idMso="SortSelectionMenu" />
<toggleButton idMso="FilterToggleFilter" />
<button idMso="FindDialog" label="Trouver" />
</group>
</tab>
<!-- fin achats globaux -->
</tabs>
</ribbon>
</customUI>
'======================================================================================================================================
Les codes VBA:
Déclaration:
Option Compare Database
Option Explicit
Public oRst As DAO.Recordset
Dim db As DAO.Database
'Sélection du Rayon
Public SelectionRayons As String
Public SelectionMois As String
' Variable objet pour le ruban
Dim rubanAAA As IRibbonUI
Dim rubanAAA1 As IRibbonUI
Dim rubanAAA2 As IRibbonUI
' Variable conservant le nom de la case à cocher qui est cochée
Dim sChkNoteCtlId As String
Public bBlanchir_cmbMois01 As Boolean
Public bBlanchir_cmbRayons As Boolean
'=================================================================================================
Public Sub Action_ouvrir_frmAchatsGlobaux(ByVal control As IRibbonControl)
DoCmd.OpenForm "frmAchatsGlobaux"
End Sub
'==================================================================================================
Public Sub getMoisCount(control As IRibbonControl, ByRef count)
Set oRst = CurrentDb.OpenRecordset("SELECT * FROM tblMois;")
'Récupère le nombre d'enregistrements
With oRst
.MoveLast
count = .RecordCount
.MoveFirst
End With
End Sub
'==================================================================================================
Public Sub getMoisLabel(control As IRibbonControl, index As Integer, ByRef label)
On Error GoTo err
With oRst
label = .Fields("ID_Mois")
.MoveNext
End With
Exit Sub
err:
MsgBox err.Description
End Sub
'====================================================================================================
Public Sub onChangeMois(control As IRibbonControl, ListeMois As String)
Dim monSQL As String, NumMois As Integer, maBD As Database, rst1 As Recordset, rst2 As Recordset, rst3 As Recordset, rst4 As Recordset, rst5 As Recordset
Dim rst6 As Recordset, rst7 As Recordset, rst8 As Recordset, rst9 As Recordset, rst10 As Recordset, rst11 As Recordset, rst12 As Recordset, text As String
Set maBD = CurrentDb
On Error GoTo Err_onChangeListeMois
'
Select Case control.Id
Case "cmbMois01"
SelectionMois = ListeMois
If ListeMois = "Janvier" Then
NumMois = 1
Set rst1 = maBD.OpenRecordset("qryAchatsGlobauxJanvier", dbOpenDynaset)
If rst1.RecordCount = 0 Then
Beep
MsgBox "Pas encore d'achats " & vbLf & _
"dans ce mois de janvier!", vbCritical, "Achats globaux janvier"
Exit Sub
End If
monSQL = "SELECT * FROM tblAchatsGlobaux WHERE DatePart(""m"",DateAchats)=""1"""
DoCmd.OpenForm "frmAchatsGlobaux"
Forms!frmAchatsGlobaux.RecordSource = monSQL
bBlanchir_cmbMois01 = True
rubanAAA2.InvalidateControl "cmbMois01"
End If
'-----------------------------------------------------
If ListeMois = "Février" Then
NumMois = 2
Set rst2 = maBD.OpenRecordset("qryAchatsGlobauxFévrier", dbOpenDynaset)
If rst2.RecordCount = 0 Then
Beep
MsgBox "Pas encore d'achats " & vbLf & _
"dans ce mois de février!", vbCritical, "Achats globaux février"
Exit Sub
End If
monSQL = "SELECT * FROM tblAchatsGlobaux WHERE DatePart(""m"",DateAchats)=""2"""
DoCmd.OpenForm "frmAchatsGlobaux"
Forms!frmAchatsGlobaux.RecordSource = monSQL
bBlanchir_cmbMois01 = True
rubanAAA2.InvalidateControl "cmbMois01"
End If
'-----------------------------------------------------------------------
If ListeMois = "Mars" Then
NumMois = 3
Set rst3 = maBD.OpenRecordset("qryAchatsGlobauxMars", dbOpenDynaset)
If rst3.RecordCount = 0 Then
Beep
MsgBox "Pas encore d'achats " & vbLf & _
"dans ce mois de mars!", vbCritical, "Achats globaux mars"
Exit Sub
End If
monSQL = "SELECT * FROM tblAchatsGlobaux WHERE DatePart(""m"",DateAchats)=""3"""
DoCmd.OpenForm "frmAchatsGlobaux"
Forms!frmAchatsGlobaux.RecordSource = monSQL
bBlanchir_cmbMois01 = True
rubanAAA2.InvalidateControl "cmbMois01"
End If
'---------------------------------------------------------------------------
If ListeMois = "avril" Then
NumMois = 4
Set rst4 = maBD.OpenRecordset("qryAchatsGlobauxAvril", dbOpenDynaset)
If rst4.RecordCount = 0 Then
Beep
MsgBox "Pas encore d'achats " & vbLf & _
"dans ce mois d'avril!", vbCritical, "Achats globaux avril"
Exit Sub
End If
monSQL = "SELECT * FROM tblAchatsGlobaux WHERE DatePart(""m"",DateAchats)=""4"""
DoCmd.OpenForm "frmAchatsGlobaux"
Forms!frmAchatsGlobaux.RecordSource = monSQL
bBlanchir_cmbMois01 = True
rubanAAA2.InvalidateControl "cmbMois01"
'------------------------------------------------------------------------
End If
If ListeMois = "mai" Then
NumMois = 5
Set rst5 = maBD.OpenRecordset("qryAchatsGlobauxMai", dbOpenDynaset)
If rst5.RecordCount = 0 Then
Beep
MsgBox "Pas encore d'achats " & vbLf & _
"dans ce mois de mai!", vbCritical, "Achats globaux mai"
Exit Sub
End If
monSQL = "SELECT * FROM tblAchatsGlobaux WHERE DatePart(""m"",DateAchats)=""5"""
DoCmd.OpenForm "frmAchatsGlobaux"
Forms!frmAchatsGlobaux.RecordSource = monSQL
bBlanchir_cmbMois01 = True
rubanAAA2.InvalidateControl "cmbMois01"
'------------------------------------------------------------------------
End If
If ListeMois = "juin" Then
NumMois = 6
Set rst6 = maBD.OpenRecordset("qryAchatsGlobauxJuin", dbOpenDynaset)
If rst6.RecordCount = 0 Then
Beep
MsgBox "Pas encore d'achats " & vbLf & _
"dans ce mois de juin!", vbCritical, "Achats globaux juin"
Exit Sub
End If
monSQL = "SELECT * FROM tblAchatsGlobaux WHERE DatePart(""m"",DateAchats)=""6"""
DoCmd.OpenForm "frmAchatsGlobaux"
Forms!frmAchatsGlobaux.RecordSource = monSQL
bBlanchir_cmbMois01 = True
rubanAAA2.InvalidateControl "cmbMois01"
'-----------------------------------------------------------------------------
End If
If ListeMois = "juillet" Then
NumMois = 7
Set rst7 = maBD.OpenRecordset("qryAchatsGlobauxJuillet", dbOpenDynaset)
If rst7.RecordCount = 0 Then
Beep
MsgBox "Pas encore d'achats " & vbLf & _
"dans ce mois de juillet!", vbCritical, "Achats globaux juillet"
Exit Sub
End If
monSQL = "SELECT * FROM tblAchatsGlobaux WHERE DatePart(""m"",DateAchats)=""7"""
DoCmd.OpenForm "frmAchatsGlobaux"
Forms!frmAchatsGlobaux.RecordSource = monSQL
bBlanchir_cmbMois01 = True
rubanAAA2.InvalidateControl "cmbMois01"
'-------------------------------------------------------------------------------
End If
If ListeMois = "août" Then
NumMois = 8
Set rst8 = maBD.OpenRecordset("qryAchatsGlobauxAoût", dbOpenDynaset)
If rst8.RecordCount = 0 Then
Beep
MsgBox "Pas encore d'achats " & vbLf & _
"dans ce mois de août!", vbCritical, "Achats globaux août"
Exit Sub
End If
monSQL = "SELECT * FROM tblAchatsGlobaux WHERE DatePart(""m"",DateAchats)=""8"""
DoCmd.OpenForm "frmAchatsGlobaux"
Forms!frmAchatsGlobaux.RecordSource = monSQL
bBlanchir_cmbMois01 = True
rubanAAA2.InvalidateControl "cmbMois01"
'-----------------------------------------------------------------------------
End If
If ListeMois = "septembre" Then
NumMois = 9
Set rst9 = maBD.OpenRecordset("qryAchatsGlobauxSeptembre", dbOpenDynaset)
If rst9.RecordCount = 0 Then
Beep
MsgBox "Pas encore d'achats " & vbLf & _
"dans ce mois de septembre!", vbCritical, "Achats globaux septembre"
Exit Sub
End If
monSQL = "SELECT * FROM tblAchatsGlobaux WHERE DatePart(""m"",DateAchats)=""9"""
DoCmd.OpenForm "frmAchatsGlobaux"
Forms!frmAchatsGlobaux.RecordSource = monSQL
bBlanchir_cmbMois01 = True
rubanAAA2.InvalidateControl "cmbMois01"
'---------------------------------------------------------------------------
End If
If ListeMois = "octobre" Then
NumMois = 10
Set rst10 = maBD.OpenRecordset("qryAchatsGlobauxOctobre", dbOpenDynaset)
If rst10.RecordCount = 0 Then
Beep
MsgBox "Pas encore d'achats " & vbLf & _
"dans ce mois d' octobre!", vbCritical, "Achats globaux octobre"
Exit Sub
End If
monSQL = "SELECT * FROM tblAchatsGlobaux WHERE DatePart(""m"",DateAchats)=""10"""
DoCmd.OpenForm "frmAchatsGlobaux"
Forms!frmAchatsGlobaux.RecordSource = monSQL
bBlanchir_cmbMois01 = True
rubanAAA2.InvalidateControl "cmbMois01"
'-------------------------------------------------------------------------
End If
If ListeMois = "novembre" Then
NumMois = 11
Set rst11 = maBD.OpenRecordset("qryAchatsGlobauxNovembre", dbOpenDynaset)
If rst11.RecordCount = 0 Then
Beep
MsgBox "Pas encore d'achats " & vbLf & _
"dans ce mois de novembre!", vbCritical, "Achats globaux novembre"
Exit Sub
End If
monSQL = "SELECT * FROM tblAchatsGlobaux WHERE DatePart(""m"",DateAchats)=""11"""
DoCmd.OpenForm "frmAchatsGlobaux"
Forms!frmAchatsGlobaux.RecordSource = monSQL
bBlanchir_cmbMois01 = True
rubanAAA2.InvalidateControl "cmbMois01"
'------------------------------------------------------------------------
End If
If ListeMois = "décembre" Then
NumMois = 12
Set rst12 = maBD.OpenRecordset("qryAchatsGlobauxDécembre", dbOpenDynaset)
If rst12.RecordCount = 0 Then
Beep
MsgBox "Pas encore d'achats " & vbLf & _
"dans ce mois de décembre!", vbCritical, "Achats globaux décembre"
Exit Sub
End If
monSQL = "SELECT * FROM tblAchatsGlobaux WHERE DatePart(""m"",DateAchats)=""12"""
DoCmd.OpenForm "frmAchatsGlobaux"
Forms!frmAchatsGlobaux.RecordSource = monSQL
bBlanchir_cmbMois01 = True
rubanAAA2.InvalidateControl "cmbMois01"
'-----------------------------------------------------------------------
End If
End Select
' If Not (gobjRibbon Is Nothing) Then
' gobjRibbon.InvalidateControl "cmbVille"
' End If
Exit_onChangeListeMois:
Exit Sub
Err_onChangeListeMois:
'MsgBox Err.Description
Resume Exit_onChangeListeMois
Set rst1 = Nothing
Set rst2 = Nothing
Set rst3 = Nothing
Set rst4 = Nothing
Set rst5 = Nothing
Set rst6 = Nothing
Set rst7 = Nothing
Set rst8 = Nothing
Set rst9 = Nothing
Set rst10 = Nothing
Set rst11 = Nothing
Set rst12 = Nothing
Set maBD = Nothing
End Sub
'======================================================================================================
Sub onGetTextMois(control As IRibbonControl, ByRef text)
Select Case control.Id
Case "cmbMois01"
If bBlanchir_cmbMois01 Then
text = ""
bBlanchir_cmbMois01 = False
End If
End Select
End Sub
'======================================================================================================= |
Partager