Bonjour,

Je tente, via une listbox chargée par les données d'une feuille excel ("DATA"), d'afficher les données dans des textbox/optionbutton/combox quand je click sur une ligne de cette listbox.

J'initialise le remplissage de la listbox4 de cette manière (j'ai repris un code que j'essaye d'adapté au mieux)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Dim WB As Workbook
Dim S As Worksheet
Dim R As Range
Dim var As Variant
Dim LigneFin&
Dim ColonneFin&
 
        '### Où se trouvent les données ? ###
        Set WB = ActiveWorkbook   'dans le classeur actif (à adapter)
        Set S = WB.Sheets("DATA") 'dans la feuille "Data" (à adapter)
        '--- on suppose que les données commencent en A1
        '--- et que toutes les cellules de la colonne A
        '--- ainsi que toutes les cellules de la ligne 1
        '--- sont renseignées
        LigneFin& = S.[A2].End(xlDown).Row          'dernère ligne
        ColonneFin& = S.[A2].End(xlToRight).Column  'dernière colonne
        '--- on affecte la plage de données à une variable Range
        Set R = S.Range(S.Cells(1, 3), S.Cells(LigneFin&, ColonneFin&))
        '--- on monte tout le Range dans un Variant qui va se comporter comme un tableau bidimensionné
        var = R   'toutes les données sont dans le Variant
 
        '### REMARQUE ###
        'Si vous avez des calculs, faites les à partir et dans le Variant
 
        '### ListBox ###
        '--- nombre de colonnes de la ListBox = nombre de colonnes du Variant
 
        With ListBox1
 
            .ColumnCount = UBound(var, 2) ',2 est la dimension des colonnes
            '--- on monte d'un seul coup le variant dans la ListBox
            .ColumnWidths = "70 pt;45 pt;45 pt"
            .List = var
            .ColumnHeads = True
            .RowSource = "A2:C65000"
 
        End With
À savoir que j'ai 15 colonne avec des titres qui sont reprise par la fonction .ColumnHeads = True dans le listbox4.
J'ai rencontré un souçis d'affichage que j'ai pu résoudre en affichant uniquement les 3 premères colonnes (seul celles-ci me sont nécessaire pour un aperçu rapide).

Ma question: Est-il possible d'afficher l'entièreté des données dans les champs textbox/optionbutton/combox en cliquant sur une ligne de cette listbox4?

J'ai suivis plusieurs post à ce sujet mais je ne parviens pas à l'adapté sur le mien ..

Voici comment j'encode mes donnée sur la plage excel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Sub cmdConfirm_Click()
Dim Ctrl As Control
Dim Ctrl1 As Control
 
 Sheets("DATA").Activate
 
  'Positionnement dans la table
  [A65000].End(xlUp).Offset(1, 0).Select
  'Transfert des données formulaire dans BD
  'frame priorité
  ActiveCell.Value = Application.Proper(Me.NumCall)
 
  For Each Ctrl In FramePriorite.Controls
        If Ctrl.Object.Value = True Then
             ActiveCell.Offset(0, 1).Value = Ctrl.Object.Caption
            Exit For
        End If
    Next Ctrl
  ActiveCell.Offset(0, 2).Value = Me.TextBoxDateProposee
  ActiveCell.Offset(0, 3).Value = "CREE"
  ActiveCell.Offset(0, 4).Value = Me.ActionAgent
  ActiveCell.Offset(0, 5).Value = Me.ComboTypeCall
  ActiveCell.Offset(0, 6).Value = Me.ResaCmde
  ActiveCell.Offset(0, 7).Value = Me.Outbound
  ActiveCell.Offset(0, 8).Value = Me.Article
  ActiveCell.Offset(0, 9).Value = Me.Lot
  ActiveCell.Offset(0, 10).Value = Me.Objet
  ActiveCell.Offset(0, 11).Value = Me.TextBoxDateDuJour
 
End Sub
Merci pour le coup de pouce

Damien