export listbox (vba)

export listbox (vba) - VB/VBA/VBS - Programmation

Marsh Posté le 16-03-2004 à 09:39:41    

Bonjour tout le monde,
 
le problème du jour est : je désire exporter le contenu d'une listbox soit dans excel soit dans un fichier texte style csv (le code doit quasi identique je suppose).
Si ce fichier d'export se crée automatiquement c'est encore mieu (c'est à dire si je n'ai pas à céer le fichier excel ou csv avant).
 
Je n'ai pas réussi a trouver de réponse me correspondant sur le forum. Si vous savez où il y a une source ou si vous connaissez le code n'hésitez plus une seconde ! lol
 
Merci et bonne journée ou soirée ca dépend des cas

Reply

Marsh Posté le 16-03-2004 à 09:39:41   

Reply

Marsh Posté le 16-03-2004 à 14:45:45    

pour l'instant j'en suis dans ma réflexion à :  
For Each "ligne de ma listbox" In Listbox
   écrire le contenu de ma ligne dans une cellule excel  
Next "ligne de ma listbox"
 
De cette facon chaque ligne de ma listbox sera écrite dn mon fichier.
 
Le problème je ne sais pas comment s'appelle la ligne de ma listbox...
et je ne sais pas comment dire d'écrire dans une cellule différente le contenu de chaque ligne de ma listbox : ca doit etre du genre range("$a$"<---indice colonne, i<---indice ligne)...(je ne sais pas ce que c'est le  "..."lol !)

Reply

Marsh Posté le 16-03-2004 à 15:05:36    

pour le contenu de la listbox :
For i=0 to liste.listcount-1
    celule = liste.itemdata(i)
next

Reply

Marsh Posté le 16-03-2004 à 15:34:05    

je suis sous vba (excel 2000) et liste.itemdata(i) il n'aime pas trop... il me dit membre de méthode ou données introuvable.
Ou alors dois-je faire qqc avant...

Reply

Marsh Posté le 16-03-2004 à 16:33:48    

euhhh non essaie row(i) mais je suis pas sur faut chercher un peu dans les proposition qu'il doit te faire quand tu met le point

Reply

Marsh Posté le 18-03-2004 à 11:43:52    

J'ai esseyé une nouvelle méthode. ci dessous :

Code :
  1. Private Sub cmdListEXCEL_Click()
  2.     Dim Appli As New Application
  3.     Dim LigneExcel As Integer
  4.     Dim compt As Integer
  5.    
  6.     'Rendre visible EXCEL
  7.     Appli.Visible = True
  8.    
  9.     'Créer un nouveau classeur EXCEL initialisé à la ligne 1
  10.     Appli.Workbooks.Add.Activate
  11.     LigneExcel = 1
  12.    
  13.     'Inscrire le contenu d'une listbox dans la feuille 1 d'un classeur EXCEL
  14.    
  15.     For compt = 0 To List1.ListCount - 1
  16.    
  17.     ' Affecter les données de la listbox dans les cellules de la feuille
  18.     With ActiveWorkbook.Worksheets("Feuil1" ).Cells(LigneExcel, 1) = List1.List(compt)
  19.     LigneExcel = LigneExcel + 1
  20.     End With
  21.    
  22.     Next compt
  23. End Sub


la listbox peut contenir soit du texte soit des nombres.
Mais j'obtients l'erreur : erreur d'exécution 9. L'indice n'appartient pas à la sélection.
Pourquoi ? ai je mal créer mon fichier ?
merci

Reply

Marsh Posté le 18-03-2004 à 12:02:16    

pour précision l'erreur survient à la ligne  
with activeworkbook.worksheets...

Reply

Marsh Posté le 18-03-2004 à 14:00:13    

si le fichier existe j'arrive sans problème :  

Code :
  1. For i = 0 To List1.ListCount - 1
  2. Sheets("feuil1" ).Cells(i + 1, 1) = List1.List(i)
  3. Next i


le problème c'est qd je crée un nv fichier alor rien à fair ca marche pas...

Reply

Marsh Posté le 18-03-2004 à 14:14:16    

en fait si je crée un fichier, vb ne veut rien savoir il me met les valeur de ma listebox dans le fichier ki contient ma macro...snif

Reply

Marsh Posté le 20-03-2004 à 16:22:20    

ce ne serait pas que qd tu crée un nv fichier, celui-ci devient le fichier actif donc Pb de ref.. Ce n'est pas la feuille active qui contient la list1.
 
Cyrille

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed