bonjour,

J’ai une base de données Access 2007 qui gère le personnel d’une entreprise.

J’ai suivi ce tuto : http://warin.developpez.com/access/ruban/

J’ai créé un ruban qui contient :
- 2 listes déroulantes : l’une contient la liste des employés ; l’autre contient la liste des départements
- 1 bouton recherche

Ce que je souhaite faire est le suivant :

- quand on sélectionne un employé et qu’on clique sur le bouton recherche le formulaire ‘details_employe’ s’affiche avec les détails de l’employé sélectionné

- quand on sélectionne un département et qu’on clique sur le bouton recherche l’état qui contient la liste des employés du département sélectionné s’affiche

- quand on sélectionne un employé et qu’après on sélectionne un département la liste déroulante qui contient la liste des employé se réinitialise c-a-d qu’aucun employé ne soit sélectionné pour faciliter la recherche

le code de mon module adminRibbon
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
 
Option Compare Database
 
Private oMonruban As IRibbonUI
 
Private oRst As DAO.Recordset
 
Sub getNbrEmploye(control As IRibbonControl, ByRef count)
    Set oRst = CurrentDb.OpenRecordset("SELECT nom_prenom FROM employe ORDER BY nom_prenom")
    'Récupère le nombre d'enregistrements
With oRst
        .MoveLast
        count = .RecordCount
        .MoveFirst
    End With
End Sub
 
Sub getNomEmploye(control As IRibbonControl, index As Integer, ByRef label)
On Error GoTo err
    With oRst
        label = .Fields("nom_prenom")
        .MoveNext
    End With
Exit Sub
err:
MsgBox err.Description
End Sub
 
Sub getNbrDept(control As IRibbonControl, ByRef count)
    Set oRst = CurrentDb.OpenRecordset("SELECT libelle_dept FROM departement ORDER BY libelle_dept")
    'Récupère le nombre d'enregistrements
With oRst
        .MoveLast
        count = .RecordCount
        .MoveFirst
    End With
End Sub
 
Sub getNomDept(control As IRibbonControl, index As Integer, ByRef label)
On Error GoTo err
    With oRst
        label = .Fields("libelle_dept")
        .MoveNext
    End With
Exit Sub
err:
MsgBox err.Description
End Sub
 
 
 
Public Function LoadRibbon()
 
Dim strXML As String
Dim oFso As New FileSystemObject
Dim oFtxt As TextStream
'Charge le fichier XML en mémoire
Set oFtxt = oFso.OpenTextFile(CurrentProject.Path & _
      "\admin_ribbon.XML", ForReading)
'Récupère le contenu
strXML = oFtxt.ReadAll
'Charge le rubban personnalisé correspondant
Application.LoadCustomUI "rubanadmin", strXML
 
End Function
mon fichier admin_ribbon.XML
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
 
<?xml version="1.0" encoding="iso-8859-1"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="getMonRuban"> 
   <ribbon startFromScratch="true">
      <tabs>
         <tab id="tabEvenement" label="Gestion du personnel de l'AMI" visible="true">
         <group id="grpEmploye" label="Employés">
             <button id="btnNouveau" label="Nouveau" size="normal"/>
			</group>
         <group id="grpRecherche" label="Recherche">
  			<comboBox id="cmbEmploye" label="Nom :" getItemCount="getNbrEmploye" getItemLabel="getNomEmploye" onChange="cmbNom_change" sizeString="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"/>
  			<comboBox id="cmbDept" label="Département :" getItemCount="getNbrDept" getItemLabel="getNomDept" sizeString="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" />
			<separator id="sepRecherche"/>
			<button id="btnRechercher" label="Rechercher" imageMso="FindDialog" size="large"/>
		</group>
         </tab>
      </tabs>
   </ribbon>
</customUI>