Alimenter Combobox + Textbox automatiquement

abraxas75 Messages postés 4 Statut Membre -  
 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 !!

3 réponses

bill24 Messages postés 424 Statut Membre 155
 
'Dim j As Integer
'j = 1
...?
0
abraxas75 Messages postés 4 Statut Membre
 
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...
0
abraxas75
 
Personne ??
0