ListBox multicolonnes

Le
renroy
Bonjour,

Dans un userform, j'ai un ListBox multicolonnes(3) dont la liste
dépend des valeurs contenues dans une colonne de la feuille active.
Préalablement à l'affichage du userform, je construis un array
(listPoste) ressemblant à ceci:
listPoste(1,1) = "02-991-00-896"
listPoste(1,2) = "02-991-00-899"
listPoste(2,1) = "AUTRES FRAIS DE FINANCEME - INTÉRÊTS SUR REMBOURS."
listPoste(2,2) = "AUTRES FRAIS DE FINANCEME - FRAIS DE FINANCEMENT -
AUTRES"
listPoste(3,1) = "01-Gabarit1"
listPoste(3,2) = "02-Gabarit2"


Lorsque je transpose les valeurs de listPoste à mon ListBox, j'obtiens
ceci:
"02-991-00-896" "AUTRES FRAIS DE FINANC. - INTÉRÊTS SUR REMBOURS."
"01--Gabarit1"
"02-991-00-899" "AUTRES FRAIS DE FINANC. - FRAIS DE FINANCEMENT -
AUTRES" "02--Gabarit2"

Mon problème est le suivant: lorsqu'il n'y a qu'une seule ligne qui se
qualifie pour le listbox alors j'obtiens 3 lignes d'une colonne ou
lieu d'une ligne de 3 colonnes:
"02-991-00-896"
"AUTRES FRAIS DE FINANC. - INTÉRÊTS SUR REMBOURS."
"01--Gabarit1"

au lieu de

"02-991-00-896" "AUTRES FRAIS DE FINANC. - INTÉRÊTS SUR REMBOURS."
"01--Gabarit1"

Pour affecter listPoste au listbox, j'utilise :
With ListboxP
.Clear
.List = Application.Transpose(listPoste)
End With

Si quelqu'un a une idée du problème

Merci à l'avance.

René
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4657271
Bonjour,

Utiliser Additem:

Private Sub B_go_Click()
Me.ListBox1.Clear
Set c = Range("a:a").Find(Me.TextBox1.Value, LookIn:=xlValues)
If Not c Is Nothing Then
premier = c.Address
i = 0
Do
Me.ListBox1.AddItem
Me.ListBox1.List(i, 0) = c.Value
Me.ListBox1.List(i, 1) = c.Offset(0, 1).Value
Me.ListBox1.List(i, 2) = c.Offset(0, 2).Value
Set c = Range("a:a").FindNext(c)
i = i + 1
Loop While Not c Is Nothing And c.Address <> premier
End If
End Sub

http://boisgontierjacques.free.fr/pages_site/formulaireListes2colonnes.htm

JB

On 14 août, 15:16, wrote:
Bonjour,

Dans un userform, j'ai un ListBox multicolonnes(3) dont la liste
dépend des valeurs contenues dans une colonne de la feuille active.
Préalablement à l'affichage du userform, je construis un array
(listPoste) ressemblant à ceci:
listPoste(1,1) = "02-991-00-896"
listPoste(1,2) = "02-991-00-899"
listPoste(2,1) = "AUTRES FRAIS DE FINANCEME - INTÉRÊTS SUR REMBOURS ."
listPoste(2,2) = "AUTRES FRAIS DE FINANCEME - FRAIS DE FINANCEMENT -
AUTRES"
listPoste(3,1) = "01-Gabarit1"
listPoste(3,2) = "02-Gabarit2"
...

Lorsque je transpose les valeurs de listPoste à mon ListBox, j'obtiens
ceci:
"02-991-00-896" "AUTRES FRAIS DE FINANC. - INTÉRÊTS SUR REMBOURS."
"01--Gabarit1"
"02-991-00-899" "AUTRES FRAIS DE FINANC. - FRAIS DE FINANCEMENT -
AUTRES" "02--Gabarit2"

Mon problème est le suivant: lorsqu'il n'y a qu'une seule ligne qui se
qualifie pour le listbox alors j'obtiens 3 lignes d'une colonne ou
lieu d'une ligne de 3 colonnes:
"02-991-00-896"
"AUTRES FRAIS DE FINANC. - INTÉRÊTS SUR REMBOURS."
"01--Gabarit1"

au lieu de

"02-991-00-896" "AUTRES FRAIS DE FINANC. - INTÉRÊTS SUR REMBOURS."
"01--Gabarit1"

Pour affecter listPoste au listbox, j'utilise :
With ListboxP
.Clear
.List = Application.Transpose(listPoste)
End With

Si quelqu'un a une idée du problème ...

Merci à l'avance.

René


renroy
Le #4657221
Merci,

Çà fonctionne A1.

René

On 14 août, 09:30, JB
Bonjour,

Utiliser Additem:

Private Sub B_go_Click()
Me.ListBox1.Clear
Set c = Range("a:a").Find(Me.TextBox1.Value, LookIn:=xlValues)
If Not c Is Nothing Then
premier = c.Address
i = 0
Do
Me.ListBox1.AddItem
Me.ListBox1.List(i, 0) = c.Value
Me.ListBox1.List(i, 1) = c.Offset(0, 1).Value
Me.ListBox1.List(i, 2) = c.Offset(0, 2).Value
Set c = Range("a:a").FindNext(c)
i = i + 1
Loop While Not c Is Nothing And c.Address <> premier
End If
End Sub

http://boisgontierjacques.free.fr/pages_site/formulaireListes2colonne...

JB

On 14 août, 15:16, wrote:



Bonjour,

Dans un userform, j'ai un ListBox multicolonnes(3) dont la liste
dépend des valeurs contenues dans une colonne de la feuille active.
Préalablement à l'affichage du userform, je construis un array
(listPoste) ressemblant à ceci:
listPoste(1,1) = "02-991-00-896"
listPoste(1,2) = "02-991-00-899"
listPoste(2,1) = "AUTRES FRAIS DE FINANCEME - INTÉRÊTS SUR REMBOU RS."
listPoste(2,2) = "AUTRES FRAIS DE FINANCEME - FRAIS DE FINANCEMENT -
AUTRES"
listPoste(3,1) = "01-Gabarit1"
listPoste(3,2) = "02-Gabarit2"
...

Lorsque je transpose les valeurs de listPoste à mon ListBox, j'obtiens
ceci:
"02-991-00-896" "AUTRES FRAIS DE FINANC. - INTÉRÊTS SUR REMBOURS."
"01--Gabarit1"
"02-991-00-899" "AUTRES FRAIS DE FINANC. - FRAIS DE FINANCEMENT -
AUTRES" "02--Gabarit2"

Mon problème est le suivant: lorsqu'il n'y a qu'une seule ligne qui se
qualifie pour le listbox alors j'obtiens 3 lignes d'une colonne ou
lieu d'une ligne de 3 colonnes:
"02-991-00-896"
"AUTRES FRAIS DE FINANC. - INTÉRÊTS SUR REMBOURS."
"01--Gabarit1"

au lieu de

"02-991-00-896" "AUTRES FRAIS DE FINANC. - INTÉRÊTS SUR REMBOURS."
"01--Gabarit1"

Pour affecter listPoste au listbox, j'utilise :
With ListboxP
.Clear
.List = Application.Transpose(listPoste)
End With

Si quelqu'un a une idée du problème ...

Merci à l'avance.

René- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Publicité
Poster une réponse
Anonyme