Problème de récupération de données - VB/VBA/VBS - Programmation
MarshPosté le 03-05-2011 à 11:43:46
Bonjour à toutes et à tous,
Ayant un problème depuis quelque temps, je me résout à demander votre aide. Mon objectif est de créer un "userform" dynamique sous visual basic 2010. Pour cela, j'utilise un fichier excel auquel j'applique un filtre. Seulement, j'ai un problème pour récupérer les valeurs de excel pour les afficher dans une combobox sur mon formulaire. Celle-ci affiche seulement 'True'. J'ai trouvé des solutions en language vba mais je n'arrive pas à trouver un language vb 2010 qui marche. Voici mon code:
Imports Microsoft.Office.Interop.Excel
Public Class Form1 Public MonXl As Application Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim MonXl As Object MonXl = CreateObject("Excel.Application" ) 'Rend Excel visible, ce n'est pas indispensable, mais plus spectaculaire... MonXl.Visible = False 'Ouverture d'un Classeur Existant MonXl.Workbooks.Open(FileName:="C:\base de données V2 fr excel.xls" ) 'sélection d'une feuille du classeur en cours MonXl.Sheets(1).Select() 'selectionne la premiere feuille du classeur Dim Liste As String
If ComboBox1.Text = "monovalent" Then MonXl.Range("B2:B14" ).Select() MonXl.Selection.AutoFilter() MonXl.Selection.AutoFilter(Field:=1, Criteria1:="=*s" )
Marsh Posté le 03-05-2011 à 11:43:46
Bonjour à toutes et à tous,
Ayant un problème depuis quelque temps, je me résout à demander votre aide.
Mon objectif est de créer un "userform" dynamique sous visual basic 2010.
Pour cela, j'utilise un fichier excel auquel j'applique un filtre.
Seulement, j'ai un problème pour récupérer les valeurs de excel pour les afficher dans une combobox sur mon formulaire. Celle-ci affiche seulement 'True'.
J'ai trouvé des solutions en language vba mais je n'arrive pas à trouver un language vb 2010 qui marche.
Voici mon code:
Imports Microsoft.Office.Interop.Excel
Public Class Form1
Public MonXl As Application
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MonXl As Object
MonXl = CreateObject("Excel.Application" )
'Rend Excel visible, ce n'est pas indispensable, mais plus spectaculaire...
MonXl.Visible = False
'Ouverture d'un Classeur Existant
MonXl.Workbooks.Open(FileName:="C:\base de données V2 fr excel.xls" )
'sélection d'une feuille du classeur en cours
MonXl.Sheets(1).Select() 'selectionne la premiere feuille du classeur
Dim Liste As String
If ComboBox1.Text = "monovalent" Then
MonXl.Range("B2:B14" ).Select()
MonXl.Selection.AutoFilter()
MonXl.Selection.AutoFilter(Field:=1, Criteria1:="=*s" )
ElseIf ComboBox1.Text = "bivalent" Then
MonXl.Range("B2:B14" ).Select()
MonXl.Selection.AutoFilter()
MonXl.Selection.AutoFilter(Field:=1, Criteria1:="=*sc*" )
ElseIf ComboBox1.Text = "electrique" Then
MonXl.Range("B2:B14" ).Select()
MonXl.Selection.AutoFilter()
MonXl.Selection.AutoFilter(Field:=1, Criteria1:="=*se*" )
Else : MsgBox("veuillez selectionnez un type d'appoint" )
End If
Liste = MonXl.Sheets(1).Range("B2:B14" ).Select()
ComboBox2.Text = Liste
End Sub
End Class
En espérant que vous puissiez m'aider, merci de votre temps.