Besoin d'aide sur un filtre élaboré (étudiant en détresse !)

Kankrela

XLDnaute Nouveau
Bonjour,

Je suis étudiant en école d'ingénieur en apprentissage, dans mon entreprise on m'a demandé de développer une application capable de gérer les habilitations du personnel. J'ai des notions sur VB mais je galère un peu...
J'ai déja créé l'userform sur le fichier que je vous envoi qui correspond à ce que j'espère réussir à créer au final (je sais je suis ambitieux mais ce soir je vais acheter "VBA pour les nuls" alors ça rigole plus ! ). Je commence l'écriture du code par l'onglet "Recherche", j'ai pris sur une autre appli l'écriture pour filtrer les noms et prénom (avec recherche intuitive du prénom correspondant)mais je n'arrive pas à la modifier pour y ajouter le filtre par service, fonction , process ou réf. J'aurais besoin d'un petit coup de main ( j'abuse mais ce serait sympa d'ajouter des commentaires sur le code pr que je puisse comprendre svp).

Merci d'avance

PS: le fichier est trop volumineux alors je l'ai mis sur free : Free - Envoyez vos documents
 

pierrejean

XLDnaute Barbatruc
Re : Besoin d'aide sur un filtre élaboré (étudiant en détresse !)

bonjour Kankrela

et bienvenue sur XLD

Modifications a faire:

Code:
Private Sub Nom_Change()
.....
Me.Prénom.Value = c.Offset(0, 1).Value
    'ajout des fonction service processus
    Me.Fonction = c.Offset(0, 2).Value
    Me.Service = c.Offset(0, 3).Value
    Me.Processus = c.Offset(0, 4).Value
......

Code:
Private Sub Prénom_Change()
For n = 6 To Range("A65536").End(xlUp).Row
  If Range("A" & n) = Me.Nom And Range("B" & n) = Me.Prénom Then
    Me.Fonction = Range("C" & n)
    Me.Service = Range("D" & n)
    Me.Processus = Range("E" & n)
  End If
Next n
End Sub

Code:
Private Sub CheckBox4_Click()
If CheckBox4 Then
Me.Nom.Clear
For n = 6 To Range("A65536").End(xlUp).Row
  For Each cel In ActiveSheet.Range("F5:AU5")
   If cel.Value Like Range("E" & n).Value Then
    If Cells(n, cel.Column).Value <> "NH" Then
      Me.Nom.AddItem Range("A" & n)
    End If
  End If
  Next cel
Next n
Else
UserForm_Initialize
End If
End Sub

Tu pourras t'inspirer de ce dernier pour les autres CheckBox
 

Kankrela

XLDnaute Nouveau
Re : Besoin d'aide sur un filtre élaboré (étudiant en détresse !)

Merci beaucoup Pierre-Jean,

Pour situer un peu le contexte je suis une bille en VB....:eek:

Tu peux me dire à quoi servent les ...... dans ton Private Sub Nom_Change() ? j'imagine que je dois mettre un End sub() après ces lignes n'est-ce pas ?
Code:
Private Sub Nom_Change()
.....
Me.Prénom.Value = c.Offset(0, 1).Value
    'ajout des fonction service processus
    Me.Fonction = c.Offset(0, 2).Value
    Me.Service = c.Offset(0, 3).Value
    Me.Processus = c.Offset(0, 4).Value
......
Dois-je faire d'autres modifications car j'ai une erreur sur :

Code:
Me.Prénom.Value = c.Offset(0, 1).Value

en ce qui concerne les CheckBox si ça fait ce que je pense que ça fait c génial !!!
 

pierrejean

XLDnaute Barbatruc
Re : Besoin d'aide sur un filtre élaboré (étudiant en détresse !)

Re

les .....
servent uniquement a dire
il y a quelque chose avant ( ou apres)
ils ne sont evidemment pas a reporter !!!

D'autre part , je n'avais pas remarqué qu'il m'est possible de poster le fichier

Le voici avec les modifs
 

Pièces jointes

  • qPqgr5D2Z.zip
    39.2 KB · Affichages: 35
  • qPqgr5D2Z.zip
    39.2 KB · Affichages: 36
  • qPqgr5D2Z.zip
    39.2 KB · Affichages: 38

pierrejean

XLDnaute Barbatruc
Re : Besoin d'aide sur un filtre élaboré (étudiant en détresse !)

Re

Une avancée pour le tri par service

Etudier l'Userform1_initialize
et le combobox3_change
 

Pièces jointes

  • qPqgr5D2Z.zip
    40 KB · Affichages: 39
  • qPqgr5D2Z.zip
    40 KB · Affichages: 44
  • qPqgr5D2Z.zip
    40 KB · Affichages: 45

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T