Alimenter Combobox + Textbox automatiquement
abraxas75
Messages postés
4
Statut
Membre
-
abraxas75 -
abraxas75 -
Bonjour à tous,
Avant toute chose : je débute en visual basic et j'espère avoir posté au bon endroit ^^.
Je me suis installé Visual Basic 2010, afin de créer une interface, lié à un fichier Excel qui l'alimentera en données.
Cette interface est constituée d'1 Combobox (contenant la liste des clients, colonne A du fichier Excel), et de 1 TextBox qui doit contenir le numéro de téléphone du client sélectionné dans le Combobox (colonne C du fichier Excel, sur la même ligne).
Ex: A1 | B1 | C1
Société Dupont | USA | 01 42 45 47 89
J'ai réussi à alimenter la Combobox, mais impossible d'alimenter automatiquement la TextBox1 en fonction de ce que je sélectionne dans la combobox !
Est-ce que vous auriez une idée pour m'aider ?
---------------------------------------------------------
---------------------------------------------------------
Voici mon code :
Imports Excel = Microsoft.Office.Interop.Excel
Imports System
Imports System.Windows.Forms
Imports System.Windows.Forms.ComboBox
Imports System.Drawing
Imports System.Collections
Public Class NetworkTest
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
''Ouverture de l'application
Dim appExcel As Object
appExcel = CreateObject("Excel.Application")
appExcel = New Excel.Application 'Application Excel
appExcel.visible = True
''Déclaration des variables
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
Dim i As Integer
Dim Champs As String 'Colonne A, les clients
Dim ChampsNDI As String 'Colonne C, les Téléphones
Dim TaVariable As String 'récupère les noms clients pour Combobox1
Dim VariableNDI As String 'récupère le Téléphone pour Textbox1
''Ouverture d'un fichier Excel
wbExcel = appExcel.Workbooks.Open("Chemin\fichier.xls")
''wsExcel correspond à la première feuille du fichier
wsExcel = wbExcel.Worksheets(1)
wsExcel.Activate()
Champs = "A"
ChampsNDI = "C"
i = 1
'Dim j As Integer
'j = 1
'Récupère les valeurs dans la Combobox
For i = 1 To 8
TaVariable = wsExcel.Range(Champs & i).Value
ComboBox1.Items.Add(TaVariable)
'Condition qui supprime les doublons dans le ComboBox1
If wsExcel.Range(Champs & i).Value = wsExcel.Range(Champs & i + 1).Value Then
ComboBox1.Items.Remove(TaVariable)
End If
'Inscrit dans la Textbox1 la valeur correspondante du Tel du client (sur la mm ligne) sélectionné dans la Combobox1
If TaVariable = wsExcel.Range(Champs & i).Value Then
TextBox1.Text = wsExcel.Range(ChampsNDI & i).Value
End If
Next
appExcel.Exit()
wbExcel.Workbook.Close()
wsExcel.Worsheet.Close()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Application.Exit()
End Sub
End Class
-----------------------------------------------------------
Merci !!
Avant toute chose : je débute en visual basic et j'espère avoir posté au bon endroit ^^.
Je me suis installé Visual Basic 2010, afin de créer une interface, lié à un fichier Excel qui l'alimentera en données.
Cette interface est constituée d'1 Combobox (contenant la liste des clients, colonne A du fichier Excel), et de 1 TextBox qui doit contenir le numéro de téléphone du client sélectionné dans le Combobox (colonne C du fichier Excel, sur la même ligne).
Ex: A1 | B1 | C1
Société Dupont | USA | 01 42 45 47 89
J'ai réussi à alimenter la Combobox, mais impossible d'alimenter automatiquement la TextBox1 en fonction de ce que je sélectionne dans la combobox !
Est-ce que vous auriez une idée pour m'aider ?
---------------------------------------------------------
---------------------------------------------------------
Voici mon code :
Imports Excel = Microsoft.Office.Interop.Excel
Imports System
Imports System.Windows.Forms
Imports System.Windows.Forms.ComboBox
Imports System.Drawing
Imports System.Collections
Public Class NetworkTest
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
''Ouverture de l'application
Dim appExcel As Object
appExcel = CreateObject("Excel.Application")
appExcel = New Excel.Application 'Application Excel
appExcel.visible = True
''Déclaration des variables
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
Dim i As Integer
Dim Champs As String 'Colonne A, les clients
Dim ChampsNDI As String 'Colonne C, les Téléphones
Dim TaVariable As String 'récupère les noms clients pour Combobox1
Dim VariableNDI As String 'récupère le Téléphone pour Textbox1
''Ouverture d'un fichier Excel
wbExcel = appExcel.Workbooks.Open("Chemin\fichier.xls")
''wsExcel correspond à la première feuille du fichier
wsExcel = wbExcel.Worksheets(1)
wsExcel.Activate()
Champs = "A"
ChampsNDI = "C"
i = 1
'Dim j As Integer
'j = 1
'Récupère les valeurs dans la Combobox
For i = 1 To 8
TaVariable = wsExcel.Range(Champs & i).Value
ComboBox1.Items.Add(TaVariable)
'Condition qui supprime les doublons dans le ComboBox1
If wsExcel.Range(Champs & i).Value = wsExcel.Range(Champs & i + 1).Value Then
ComboBox1.Items.Remove(TaVariable)
End If
'Inscrit dans la Textbox1 la valeur correspondante du Tel du client (sur la mm ligne) sélectionné dans la Combobox1
If TaVariable = wsExcel.Range(Champs & i).Value Then
TextBox1.Text = wsExcel.Range(ChampsNDI & i).Value
End If
Next
appExcel.Exit()
wbExcel.Workbook.Close()
wsExcel.Worsheet.Close()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Application.Exit()
End Sub
End Class
-----------------------------------------------------------
Merci !!
A voir également:
- Alimenter Combobox + Textbox automatiquement
- Automatiquement - Guide
- Logiciel pour trier les photos automatiquement - Guide
- Renommer automatiquement des fichiers - Guide
- Mon compte gmail se connecter automatiquement - Guide
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
3 réponses
Ah oui j'ai oublié de l'enlever : comme je n'y arrivais pas, j'ai essayé en faisant une autre boucle, en utilisant une variable "j" pour l'incrémentation ^^.
Mais ce n'est pas ça qui bloque le code, la variable n'est juste "pas utilisée"..
Pour être d'ailleurs plus précis : je n'ai aucun message d'erreur lors de l'exécution de mon code, il n'y a juste pas de valeur retournée dans le Textbox1 qui reste vide...
Mais ce n'est pas ça qui bloque le code, la variable n'est juste "pas utilisée"..
Pour être d'ailleurs plus précis : je n'ai aucun message d'erreur lors de l'exécution de mon code, il n'y a juste pas de valeur retournée dans le Textbox1 qui reste vide...