remplir in combobox avec des données d'excel

remplir in combobox avec des données d'excel - VB/VBA/VBS - Programmation

Marsh Posté le 11-02-2006 à 00:25:51    

Bonjour
 
j'ai un combobox que j'ai rempli avec cette methode :
 
Open "c:\liste.txt" For Input As #1
Do While Not EOF(1)
    Line Input #1, InputData
ComboBox16.AddItem (InputData)
Loop
Close #1
 
 
comment faire pour le remplir avec les cellules contenues dans un fichier excel en supposant que le fichier s'appelle:
C:\liste.xls
ce fichier a une feuille nommée "page1"
les données sont dans la colonne A
 
 

Reply

Marsh Posté le 11-02-2006 à 00:25:51   

Reply

Marsh Posté le 11-02-2006 à 07:40:39    

Bonjour,
 
Il faut ourvir le fichier excel, le lire et le fermer de cette façon.
 
Sub RemplirCombo()
    ExcelFile = "c:\Liste.xls"
    Table = "page1"
    Set xlAppList = CreateObject("Excel.Application" ) 'crée une instance excel
    Set MyWorkbook = xlAppList.Workbooks.Open(ExcelFile, 0, , , "" )   'ouvrre ce fichier excel
     
    MyWorkbook.sheets(Table).Select
    For Each c In ActiveSheet.Range("A1", "A" & Trim(Str(Cells(65535, 1).End(xlUp).Row)))
            ' Trim(Str(Cells(65535, 1).End(xlUp).Row)) = Repère la dernière cellule remplie de la colonne
       UserForm1.ComboBox16.AddItem sheets(Table).Cells(c.Row, 1)
    Next
       'penser à refermer le classeur en l'enregistrant si il a été modifié
    MyWorkbook.Close savechanges:=True
    Set xlAppList = Nothing
    Set MyWorkbook = Nothing
End Sub
 
Cordialement
 
Epéna

Reply

Marsh Posté le 11-02-2006 à 10:33:18    

merci !!
je vais tester cela
 
 :(  
ca ne marche pas
ça me met  "Sub ou fonction non definie"
 
et ca bloque sur Cells   (de la ligne commencant par For Each c In.....)
 
j'ai pourtant un fichier XLS, avec une feuille nommée page1 et la colonne A de cette page contient des données
 
 
Je precise que la macro fonctionne sous WORD
les données a recuperer sont sous EXCEL


Message édité par daniel-12 le 11-02-2006 à 14:27:55
Reply

Marsh Posté le 11-02-2006 à 17:02:10    

Il faut ajouter Microsoft Excel X,0 Objet Librairy dans les références du projet Word (Outils/Références). X dépendant de la version: 8 pour excel 97, 9 pour excel 2000, etc. Il faufra ajouter la bonne référence si l'application fonctionne sur un autre poste avec une version Office différente.
 
Bon courage
 
Epéna

Reply

Marsh Posté le 11-02-2006 à 21:59:49    

Merci encore !!
ça marche avec ta solution
 
par contre a quoi ca sert ça, a la fin?
 
    Set xlAppList = Nothing
    Set MyWorkbook = Nothing  

Reply

Marsh Posté le 12-02-2006 à 07:38:33    

Il faut supprimer une variable objet après utilisation par l'intruction Set variable = Nothing pour de multiples raisons : cela libère les ressouces système attachées à l'objet et cela peut éviter des  erreurs lors du 2 ème appel de procédure.  
A noter qu'il faut déclarer les variables objet ce que j'avais omis de faire :
Dim xlAppList As Excel.Application
Dim MyWorkbook As Excel.Workbook
 
Cordialement
 
Epéna

Reply

Sujets relatifs:

Leave a Replay

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