Microsoft 365 Créer liste agents si actif

pompaero

XLDnaute Impliqué
Bonjour à tous,

je cherche à compléter le Formulaire (liste déroulante) dans l'onglet Certificat, seulement d'agents actifs qui se trouve dans le tableau de l'onglet Agent.
La liste des agents peut se prolonger.

Objectif :
renseigner le List déroulant avec seulement les agents actifs du tableau de l'onglet Agent.
A l'activation du UForm_Agent, la liste est armée des agents actifs puis en appuyant sur le bouton VALIDER, la sélection de la liste vient s'inscrire dans la celulle A3. Puis la liste se réactualise.

Est-il possible d'avoir de l'aide ?
merci.

Cdlt
pompaero
 

Pièces jointes

  • Présentation_V1.xlsm
    223.6 KB · Affichages: 8

TooFatBoy

XLDnaute Barbatruc
mettre à jour pour etre sur qu'il ne manque aucun agent
Pourquoi manquerait-il un agent juste après avoir sélectionné un item ???


1- Mettre la liste à jour par rapport à quoi ?
(par rapport au fait qu'on vient de sélectionner un item ???)

2- Qu'est-ce qui fait qu'elle n'est pas à jour ?

3- Est-ce vraiment utile de la mettre à jour, puisque je suppose qu'une fois qu'on a sélectionné un nom et validé, on ferme le UserForm. Nan ?
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Merci pour ta réponse. 👍

Le point le plus important est le numéro 3 : quel est l'intérêt de mettre la liste à jour après avoir sélectionné un item de la liste et cliqué sur le bouton [Valider] qui ferme (décharge) le UserForm ???
C'est perdre du temps pour rien. Non ? 😉
 

pompaero

XLDnaute Impliqué
TooFatBoy
Ton code pour le CBx fait bien le résultat attendu sauf que ça ne veut pas valider le 1er item que je valide.
VB:
Private Sub UserForm_Initialize()
'
Dim i As Long

    Me.ComboBox1.Clear
    For i = 1 To Range("Tableau2").ListObject.ListRows.Count
        If Range("Tableau2[Actif]")(i).Value2 = "Oui" Then
            Me.ComboBox1.AddItem Range("Tableau2[Liste agent]")(i).Value2
        End If
    Next i

End Sub
Pourquoi !!!
Il y ajuste ce petit hic qui bug.
Merci
 

pompaero

XLDnaute Impliqué
Re
il suffit de modifier le Tri alors trier sur la Colonne "Num HPP" !
VB:
Private Sub UserForm_Initialize()
With Range("t_BDD").ListObject
  If Not .DataBodyRange Is Nothing Then 'Si t_BDD non vide
           .Range.Sort key1:=.ListColumns("Num HPP").DataBodyRange, Order1:=xlAscending, Header:=xlYes      
      With .DataBodyRange
      Tab_BDD = .Value
      End With  
  End If
End With
With UForm_List_Agent
With .CBx_Liste_Presents
       .ColumnCount = 2
       .ColumnWidths = "1;0"
       .AddItem Empty
    For Lgn = 1 To UBound(Tab_BDD, 1)
      If Tab_BDD(Lgn, 3) = "Oui" Then
       .Text = Trim(Tab_BDD(Lgn, 2))
    If .ListIndex = -1 Then
       .AddItem Trim(Tab_BDD(Lgn, 2))
       .List(.ListCount - 1, 1) = Trim(Tab_BDD(Lgn, 4))
           End If
      End If
    Next Lgn
       .ListIndex = 0
 End With 
End With
End Sub
Jean marie
Ca y est, ça fonctionne.. Merci
 

Discussions similaires

Réponses
2
Affichages
564

Statistiques des forums

Discussions
314 611
Messages
2 111 145
Membres
111 051
dernier inscrit
MANUREVALAND