Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1690 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  remplir in combobox avec des données d'excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

remplir in combobox avec des données d'excel

n°1303328
daniel-12
Posté le 11-02-2006 à 00:25:51  profilanswer
 

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
 
 

mood
Publicité
Posté le 11-02-2006 à 00:25:51  profilanswer
 

n°1303364
Epena
Posté le 11-02-2006 à 07:40:39  profilanswer
 

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

n°1303402
daniel-12
Posté le 11-02-2006 à 10:33:18  profilanswer
 

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
n°1303511
Epena
Posté le 11-02-2006 à 17:02:10  profilanswer
 

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

n°1303597
daniel-12
Posté le 11-02-2006 à 21:59:49  profilanswer
 

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

n°1303650
Epena
Posté le 12-02-2006 à 07:38:33  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  remplir in combobox avec des données d'excel

 

Sujets relatifs
VBA Excel 2002 - AS400 chercher un fichierMacro excel relou à faire
[excel - vba] Appel d'une macro dans une autreExcel 2002 - longueur à l'ouverture d'un fichier (résolu)
[Excel] Fonction - appel a une macro comp.Ouvrir une URL en transmettant des données
Liste déroulante avec onchange et conservation des données précédentes[excel] Les useforms (en particulier les combobox)
remplir un tableau. 
Plus de sujets relatifs à : remplir in combobox avec des données d'excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR