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).
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
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....
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 !!!