Probleme d'affichage lors d'un transfert listbox vers feuille excel

Résolu
Signaler
Messages postés
180
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
22 novembre 2013
-
Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
-
Bonjour,

j'ai introduit le code ci dessous dans mon commandbutton, afin de transférer le contenu d'un listbox dans une feuille excel et que les différents contenus s'ajoutent à la suite l'un de l'autre avec une ligne pour séparer les différent transferts.

seulement voilà mes problèmes:

- si ma listbox ne contient qu'une seule ligne, lors du transfert, il copie deux fois cette ligne dans deux cellules de la feuille excel...
- quand j'ai deux articles ou plus, il m'affiche '#N/A' dans la cellule sous le dernier article...
- enfin, j'ai une listbox de deux colonnes mais il n'en transfert qu'une seule...

quelqu'un peut m'aider?

Private Sub CommandButton3_Click()
Dim i As Integer
i = Sheets("Feuil1").Range("A65535").End(xlUp).Row + 2
With ListBox2
   Sheets("Feuil1").Range(Cells(i, 1), Cells(i + .ListCount, 1)) = .List
End With
ListBox2.Clear
End Sub

<colgroup><col style=\"WIDTH: 60pt\" width=\"80\" /></colgroup>----

3 réponses

Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
Bonjour

Ta syntaxe me surprend, mais essaye juste avec une petite modif :
Sheets("Feuil1").Range(Cells(i, 1), Cells(i + .ListCount - 1, 1)) = .List

Sinon, je serais plus partisant d'une boucle :

For j = 0 to Listbox2.ListCount-1
    Sheets("Feuil1").cells(i,1).value=Listbox2.List(j)
    i=i+1
Next j

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
180
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
22 novembre 2013

Merci!!!!

ça marche nickel avec ta petite modif et ça marche aussi nickel avec ton code!!

mais, est-ce qu'il y a un probleme à utiliser ma synthaxe plutot que la tienne?

une autre question, ma listbox ayant deux colonnes dois je recopier une seconde fois le code (mais cette fois ci pour la colonne 'B' et en inscrivant Sheets("Feuil1").Cells(i, 1).Value = ListBox2.List(j, 1)
ou bien y at'il moyen de tout regrouper en une seule ligne?

encore merci!
Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
Bonjour

Apparamment les 2 syntaxes se valent, mais je ne connaissait pas celle que tu as utilisée.

Ne connaissant pas la spécificité Multicolonne du ListBox (j'imagine qu'il s'agit comme ne VB6 d'un seul tableau (1 dim) qui est affiché sur plusieurs colonnes), je pense donc que ce n'est pas possible, mais je le redis, je n'ai jamais utiliser ce controle de cette manière.

dsl.

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site