Francis31000
XLDnaute Nouveau
Re Bonjour a toutes et tous
J'ai remanié le Code fourni généreusement par Creepy, puisque s'ajoutai un souci de doublons:
La Combo (ComboBox3) effectue un tri par une liste dans laquelle il y a des doublons (ce sont des bulletin d'hebergement (BH) dans lesquels il peut y avoir plusieurs personnes, a noter que ces memes personnes peuvent revenir sur un autre bulletin d'hebergement) .
Le souci etait que lorsque on selectionait un numero de BH comportant plusieurs enregistrements, les TextBox n'affichait que le dernier enregistrement
ex: je sélectionne le bulletin d'hebergement n°14 pour lequel il y a plusieurs personnes, seul le dernier dans la liste s'affichait.
J'ai donc utilisé la fonction ListIndex, dans ma ConboBox3 la valeur affiché est bien le numero du bulletin d'hebergement, mais avec la fonction ListIndex le tri se fait sur le numero d'enregistrement, et donc lorsque je selectionne le premier des numero 14 (par exemple) j'ai bien les valeurs correspondant au premier numero 14 qui s'affichent et non les valeurs du dernier numero 14
En esperant avoir été clair (ce qui n'est pas évident) ci joint le code remanié :
Option Explicit
Dim derligne As Integer
Dim plagelist As String
Private Sub ComboBox3_Change()
Dim Compteur, Indice As Integer
Dim Cell As Variant
Feuil5.Activate
Feuil5.Range('A7:A' & derligne).Select
Indice = ComboBox3.ListIndex + 1
For Each Cell In Selection
If Cell.Value = Indice Then
For Compteur = 1 To 13
UserForm2.Controls('Textbox' & Compteur).Text = Cell.Offset(0, Compteur).Value
Next Compteur
End If
Next Cell
End Sub
Private Sub commandbutton2_click()
Unload UserForm2
End Sub
Private Sub UserForm_Initialize()
derligne = Feuil5.Range('B65536').End(xlUp).Row
plagelist = Feuil5.Range('B7:B' & derligne).Address
ComboBox3.RowSource = 'BH!' & plagelist
End Sub
J'ai remanié le Code fourni généreusement par Creepy, puisque s'ajoutai un souci de doublons:
La Combo (ComboBox3) effectue un tri par une liste dans laquelle il y a des doublons (ce sont des bulletin d'hebergement (BH) dans lesquels il peut y avoir plusieurs personnes, a noter que ces memes personnes peuvent revenir sur un autre bulletin d'hebergement) .
Le souci etait que lorsque on selectionait un numero de BH comportant plusieurs enregistrements, les TextBox n'affichait que le dernier enregistrement
ex: je sélectionne le bulletin d'hebergement n°14 pour lequel il y a plusieurs personnes, seul le dernier dans la liste s'affichait.
J'ai donc utilisé la fonction ListIndex, dans ma ConboBox3 la valeur affiché est bien le numero du bulletin d'hebergement, mais avec la fonction ListIndex le tri se fait sur le numero d'enregistrement, et donc lorsque je selectionne le premier des numero 14 (par exemple) j'ai bien les valeurs correspondant au premier numero 14 qui s'affichent et non les valeurs du dernier numero 14
En esperant avoir été clair (ce qui n'est pas évident) ci joint le code remanié :
Option Explicit
Dim derligne As Integer
Dim plagelist As String
Private Sub ComboBox3_Change()
Dim Compteur, Indice As Integer
Dim Cell As Variant
Feuil5.Activate
Feuil5.Range('A7:A' & derligne).Select
Indice = ComboBox3.ListIndex + 1
For Each Cell In Selection
If Cell.Value = Indice Then
For Compteur = 1 To 13
UserForm2.Controls('Textbox' & Compteur).Text = Cell.Offset(0, Compteur).Value
Next Compteur
End If
Next Cell
End Sub
Private Sub commandbutton2_click()
Unload UserForm2
End Sub
Private Sub UserForm_Initialize()
derligne = Feuil5.Range('B65536').End(xlUp).Row
plagelist = Feuil5.Range('B7:B' & derligne).Address
ComboBox3.RowSource = 'BH!' & plagelist
End Sub