Remplissage d'une Listbox et format

Calvus

XLDnaute Barbatruc
Bonjour le forum,

Dans le classeur joint, j'ai 2 Userforms.
Ils sont identiques, mis à part la seconde partie du code.

Je remplis une Listbox en fonction d'une Combobox.

Le Userform1 utilise la méthode AddItem
Le Userform utilise la méthode List.

1/ Dans le Userform2, je n'ai que des résultats partiels, à savoir que toutes les lignes ne sont pas incrémentées, et qu'il me manque une colonne.
J'aimerais comprendre pourquoi.
Mon but est de comprendre les méthodes.

2/ Pourquoi la propriété Me.ListBox1.ColumnWidths n'accepte que 2 valeurs, alors qu'il y a 4 colonnes ?

Et je reviendrai dans cette discussion sur d'autres points ,car j'ai encore beaucoup de questions concernant ce projet.

Merci de vos réponses.
 

Pièces jointes

  • Temp Creaction Formulaire Prospects Forum.xlsm
    18.3 KB · Affichages: 43

Lone-wolf

XLDnaute Barbatruc
Re Calvus

Pour le nom du tableau, mieux vaut éviter les accents; sinon voici comment j'ai modifié.

VB:
Option Explicit
Dim C As Range, g As Range, D As Object, CB As Control

Private Sub UserForm_Initialize()
    Set D = CreateObject("Scripting.Dictionary")
    Set g = [Donnees[Date]]
    Set CB = ComboBox1
    For Each C In g: D(Format(C.Value, "dd.mmm")) = "": Next C
    CB.List = D.keys
End Sub

Private Sub ComboBox1_change()
  If ComboBox1.Text <> "" Then
        Call Transmet_Donnees
  Else
         Exit Sub
  End If
End Sub

Private Sub Transmet_Donnees()
Dim t(), i As Long

    ReDim t([Os].Rows.Count, 4)
    Set g = [Donnees[Date]]
    Set CB = ComboBox1

    For Each C In g
        If C = CDate(CB) Then _
           t(i, 0) = C: t(i, 1) = C(1, 2): t(i, 2) = C(1, 3): t(i, 3) = C(1, 6): i = i + 1:
    Next C
    ListBox1.List = t
End Sub
 

Discussions similaires

Réponses
17
Affichages
1 K

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia