Lorsque j'exécute le code ci-dessous, seulement une combobox sur les deux fonctionne...
Comment faire en sorte que les 2 listes marchent en même temps ?
'Pour la liste déroulante Nom
Private Sub UserForm_Initialize()
Dim j As Integer
For j = 1 To Range("B65536").End(xlUp).Row
ComboBox2.Value = Range("B" & j)
If ComboBox2.ListIndex = -1 Then ComboBox2.AddItem Range("b" & j)
Next j
End Sub
'Pour la liste déroulante Projet
Private Sub ComboBox1_Change()
Dim k As Integer
For k = 1 To Range("C65536").End(xlUp).Row
ComboBox1.Value = Range("C" & k)
If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Range("c" & k)
Next k
End Sub
Lorsque j'exécute le code ci-dessous, seulement une combobox sur les deux fonctionne...
Comment faire en sorte que les 2 listes marchent en même temps ?
'Pour la liste déroulante Nom
Private Sub UserForm_Initialize()
Dim j As Integer
For j = 1 To Range("B65536").End(xlUp).Row
ComboBox2.Value = Range("B" & j)
If ComboBox2.ListIndex = -1 Then ComboBox2.AddItem Range("b" & j)
Next j
End Sub
'Pour la liste déroulante Projet
Private Sub ComboBox1_Change()
Dim k As Integer
For k = 1 To Range("C65536").End(xlUp).Row
ComboBox1.Value = Range("C" & k)
If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Range("c" & k)
Next j
End Sub
Bonjour,
Ainsi écrit, la première se charge a l'initialisation de l'userform, la deuxième est dans un code évènementiel de la combobox1 (ComBobox_Change) et ne sera pas pris en compte à l'initialisation de l'userform.
Comme ceci peut-être
VB:
'Pour les listes déroulante Nom
Private Sub UserForm_Initialize()
Dim j&
For j = 1 To Range("B65536").End(xlUp).Row
ComboBox2.AddItem Range("B" & j)
Next
'Pour la liste déroulante Projet
For j = 1 To Range("C65536").End(xlUp).Row
ComboBox1.AddItem Range("C" & j)
Next
End Sub
Hello Dranreb
Joli travail
Néanmoins, je me heurte à un problème.
Supposons que j'ajoute "Monsieur Tartempion Jean"
Après création Mr Tartempion vient me voir(Tout rouge), et me dit "mon prénom c'est Jean-Paul et non pas Jean"
Dans ce cas il m'est impossible de changer ce prénom sans création et suppression.
En effet, du moins pas sans précaution. Le ComboBoxLiées a toutefois des méthodes Stopper et Réactiver pour empêcher et rétablir les évènements Change et BingoUn
Mais du coup ça ouvre théoriquement la voie à la création de doublons de leur combinaison. Mais ça se fait, pas de problème. On peut ajouter par exemple un ToggleButton pour apporter cette possibilité.
Ne pas oublier de faire même en modification un CLs.ValeursVers TVL au cas où ils auraient été changés pendant qu'il est stoppé.
En effet, du moins pas sans précaution. Le ComboBoxLiées a toutefois des méthodes Stopper et Réactiver pour empêcher et rétablir les évènements Change et BingoUn
Mais du coup ça ouvre théoriquement la voie à la création de doublons de leur combinaison. Mais ça se fait, pas de problème. On peut ajouter par exemple un ToggleButton pour apporter cette possibilité.
Ne pas oublier de faire même en modification un CLs.ValeursVers TVL au cas où ils auraient été changés pendant qu'il est stoppé.
Il n'y a rien à modifier dans les modules de service, seulement dans la programmation de l'UserForm.
Et à part la UserForm_Initialize ce sont généralemnt des procédures très courtes et simples.
Un classeur xlsm précurseur de complément xlam est disponible en téléchargement.
Il porte une page d'aide qui explique tous les évènements, méthodes et propriétés des deux types d'objets.
Définit deux types d'objets à évènements: ComboBoxLiées prenant en charge les ComboBox pour la saisie des données d'identification de la ligne à créer, puis, ultérieurement, à consulter voire modifier, et ControlsAssociés prenant en charge les...