Utilisation de VB pour lister des données Excel dans une Combo
ptitelili059
Messages postés43Date d'inscriptionjeudi 18 octobre 2007StatutMembreDernière intervention 9 juin 2010
-
29 avril 2008 à 19:23
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
29 avril 2008 à 20:42
Bonjour je suis débutante en VB6 et je voudrais réaliser une appli qui soit en rapport avec un fichier Excel.
Mon fichier Excel existe déjà. Je voudrais pouvoir lister les valeurs d'une colonne à l'aide d'une combo box mais je ne sais pas du tout comment m'y prendre. Même pour ouvrir le fichier Excel à proprement dit. J'ai beau lire les différents messages laissés sur le forum je n'y arrive toujours pas.
Quelqu'un pourrait-t-il me donner un petit coup de main svp car je suis totalement perdue
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 29 avril 2008 à 20:42
Salut,
Essaie ceci
il faut cocher la référence Microsoft Excel 9.0 Object Library (9.0 ou equivalent)
pour ajouter une référence Menu Projet => Références
'Objet excel
Dim XlApp As New Excel.Application
'Objet Classeur
Dim XlWorkBook As Excel.Workbook
Dim XlCell As Excel.Range
XlApp.Visible = True
'Ouvre un classeur neuf
Set XlWorkBook = XlApp.Workbooks.Open("C:\Test.Xls")
'[...les mofid => Objets Worksheets... Ranges]
'récupère les infos de la colonne 1 De la feuille 1
Dim i as integer
XlCell = XlWorkBook.WorkSheets(1).Range("A1")
While Not IsEmpty(XlCell)
NomCombo.AddItem(XlCell.Text) 'NomCombo.AddItem(XlCell.Value)
i = i + 1
XlCell = XlWorkBook.WorkSheets(1).Range("A" & i)
Wend
'Sauveagrde le classeur
Call XlWorkBook.Close(True)
'Quitte l'application
Call XlApp.Quit
'Destruction des objets
Set XlApp = Nothing
Set XlWorkBook = Nothing, ----
(Coloration syntaxique automatique par Kenji)
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 29 avril 2008 à 20:42
Re,
Après relecture il manque une ligne
Dim i as integer
XlCell = XlWorkBook.WorkSheets(1).Range("A1")
i = 1
While Not IsEmpty(XlCell)
NomCombo.AddItem(XlCell.Text) 'NomCombo.AddItem(XlCell.Value)
i = i + 1
XlCell = XlWorkBook.WorkSheets(1).Range("A" & i)
Wend