XL 2010 Problème alimentation tableau 2 dimensions

etpisculrien

XLDnaute Occasionnel
Bonjour à tous,

J'ai beau essayer mais je bug total et j'aurais besoin de vous svp.
Je souhaite alimenter un tableau à 2 dimensions avec des items d'un menu déroulant mais ça bloque après que le premier élément ait été intégré :(

Voici mon code (désolé, c'est pas très beau à voir, je sais)
-----------------------------------------------------------------------------
Private Sub TextBox1_Change()
tmp = UCase(Me.TextBox1) & "*"

Dim TabNumAff() As String
j = 0

Dim i As Integer

ReDim TabNumAff(j, 1)
For i = 0 To Me.ListBox1.ListCount - 1

If UCase(Me.ListBox1.Column(0, i)) Like tmp Then
ReDim Preserve TabNumAff(j, 1)
TabNumAff(j, 0) = UCase(Me.ListBox1.Column(0, i))
TabNumAff(j, 1) = UCase(Me.ListBox1.Column(1, i))

j = j + 1
End If

Next i

Me.ListBox1.Clear
Me.ListBox1.List = TabNumAff
End Sub
--------------------------------------------------------------------------------

Merci par avance de votre aide :)
 

etpisculrien

XLDnaute Occasionnel
Bonjour à tous,

J'ai beau essayer mais je bug total et j'aurais besoin de vous svp.
Je souhaite alimenter un tableau à 2 dimensions avec des items d'un menu déroulant mais ça bloque après que le premier élément ait été intégré :(

Voici mon code (désolé, c'est pas très beau à voir, je sais)
-----------------------------------------------------------------------------
Private Sub TextBox1_Change()
tmp = UCase(Me.TextBox1) & "*"

Dim TabNumAff() As String
j = 0

Dim i As Integer

ReDim TabNumAff(j, 1)
For i = 0 To Me.ListBox1.ListCount - 1

If UCase(Me.ListBox1.Column(0, i)) Like tmp Then
ReDim Preserve TabNumAff(j, 1)
TabNumAff(j, 0) = UCase(Me.ListBox1.Column(0, i))
TabNumAff(j, 1) = UCase(Me.ListBox1.Column(1, i))

j = j + 1
End If

Next i

Me.ListBox1.Clear
Me.ListBox1.List = TabNumAff
End Sub
--------------------------------------------------------------------------------

Merci par avance de votre aide :)
Et si personne ne comprend mon message, n'hésitez pas à me dire...
 

etpisculrien

XLDnaute Occasionnel
Bon ben laissez tomber, j'ai trouvé comment faire...
Le problème venait du dimensionnement du tableau du coup j'ai fait comme ça :

Private Sub TextBox1_Change()
Me.ListBox1.List = NumAff
tmp = UCase(Me.TextBox1) & "*"

Dim TabNumAff() As Variant
'j = 0

Dim i As Integer
Dim j As Integer

x = 0
For i = 0 To Me.ListBox1.ListCount - 1
If UCase(Me.ListBox1.Column(0, i)) Like tmp Then x = x + 1
Next i

ReDim TabNumAff(x, 1)

For i = 0 To Me.ListBox1.ListCount - 1
If UCase(Me.ListBox1.Column(0, i)) Like tmp Then
TabNumAff(j, 0) = UCase(Me.ListBox1.Column(0, i))
TabNumAff(j, 1) = UCase(Me.ListBox1.Column(1, i))
j = j + 1
End If
Next i
Me.ListBox1.Clear
Me.ListBox1.List = TabNumAff

End Sub

Si ça peut servir à quelqu'un.

Merci quand même :)
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas