XL 2019 Aide et Assistance sur mon code VBA

Monhtc

XLDnaute Occasionnel
Bonjour chers tous,
novice et débutant en langage vba, je suis depuis des semaines bloqué sur mon code. Apres maintes recherches je me tourne vers vous en esperant trouver une solution.
En effet j'ai un userform avec 4 combobox que je veux automatiser de façon suivante:

*combobox1=boxnom
Je souhaite qu'il vérifie dans mon tableau 1 se situant sur la Feuil3 que le nom entré existe. S'il n'existe pas, la combobox le valide toute de même et l'ajoute à cette même base (Tableau 1 se situant sur la Feuil3) en prenant en charge l'ordre alphabétique
VB:
Private Sub boxnom_AfterUpdate()
If boxnom.ListIndex > -1 Or boxnom = "" Then Exit Sub
If MsgBox("Ajouter le nom à la liste ?", 4) = 7 Then boxnom = "": Exit Sub
[EMPLOYES].Cells(Application.CountA([EMPLOYES]) + 1) = boxnom
boxnom.List = [EMPLOYES].Cells(2).Resize(Application.CountA([EMPLOYES]) - 1, 2).Value
End Sub

*combobox2=boxfonction
Je souhaite qu'il affiche automatiquement la fonction associée au nom entré dans la combox1 (boxnom) s'il s'agit d'une donnée qui existe deja. Si non il ajoute la nouvelle fonction au nouveau nom (Tableau 1 se situant sur la Feuil3) ou à l'ancien nom au cas où il aurait changé de fonction.
VB:
Private Sub boxnfonction_AfterUpdate()
If boxnfonction.ListIndex > -1 Or boxnfonction = "" Then Exit Sub
If MsgBox("Ajouter la fonction à ce nom ?", 4) = 7 Then boxnfonction = "": Exit Sub
[fonction].Cells(Application.countB([fonction]) + 1) = boxnfonction
boxnfonction.List = [fonction].Cells(2).Resize(Application.CountA([fonction]) - 1, 2).Value
End Sub

*combobox3=boxcontact
Je souhaite qu'il affiche automatiquement le contact associée aux entrées (Boxnom & boxfonction) précédentes du tableau 1 s'il s'agit d'une donnée qui existe déjà. Si non il ajoute le nouveau contact associé à la base (Tableau 1 se situant sur la Feuil3) au nouveau nom ou à l'ancien nom au cas où il aurait changé de contact.
VB:
Private Sub boxcontact_AfterUpdate()
If boxcontact.ListIndex > -1 Or boxcontact = "" Then Exit Sub
If MsgBox("Ajouter le contact au nom ?", 4) = 7 Then boxcontact = "": Exit Sub
[contact].Cells(Application.CountA([contact]) + 1) = boxcontact
boxcontact.List = [contact].Cells(2).Resize(Application.CountA([contact]) - 1, 2).Value
End Sub
 

Pièces jointes

  • EXCEL.xlsm
    25.6 KB · Affichages: 10

Discussions similaires