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

Résolu
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013 - 13 mars 2008 à 15:02
NHenry Messages postés 15036 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 5 février 2023 - 13 mars 2008 à 16:03
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

NHenry Messages postés 15036 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 5 février 2023 156
13 mars 2008 à 15:36
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
3
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013
13 mars 2008 à 15:47
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!
0
NHenry Messages postés 15036 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 5 février 2023 156
13 mars 2008 à 16:03
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
0
Rejoignez-nous