VBA comboxbox vers multiples textbox

Fermé
ginger - 27 déc. 2007 à 14:40
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 28 déc. 2007 à 02:31
Bonjour,

Je débute en programmation VBA et je souhaite faire un petit programme pour m'aider dans mon travail.
J'ai réussi à créer l'apparence, les différents objets.
Je cherche le code qui me permettrait la chose suivante:
J'ai une combobox, je choisis dans celle-ci une possibilité, laquelle possibilité revoie à 3 réponses, j'aimerais voire ces 3 réponses affichées dans 3 textbox différentes.

Ex: une feuille excel servant de base de donnée, avec 3 colonnes, 1 nom, 1 prénom et 1 age
Losrque je choisis dans ma combobox, un nom, dans les 3 textbox s'affichent le nom, le prénom et l'age.
Pour l'instant la seule chose que j'arrive à faire, c'est afficher seulement le nom dans la 1ere textbox.

Merci par avance!!!

3 réponses

icomicar Messages postés 76 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 28 janvier 2015 2
27 déc. 2007 à 15:04
salut :
d'abord tu ouvre ta bse tu te place sur la table en question et tu selectionne l'enregistrement
par exemple avec une listboxe
Set rs = db.OpenRecordset("select * from la table where nom='" + Trim(List1.Text) + "'")
s'il n'ya pas d'enregistrement un message et arrete la recherche
if rs.eof then msgbox(" blabla"):exit sub
sinon affiche le resultat
pour eviter les messages d'erreur en cas de valeur nul(on error resume next)
On Error Resume Next
Text1(0) = rs("nom")
Text1(1) = rs("preno")
Text1(2) = rs("age")
Voila ! je dis pas que c'est la meilleure facon ,vu que je suis amateur mais c'est ce que moi je fais pour programmé une recherche et afficher son resultat.bon courage
0
Merci beaucoup, ça n'a pas fonctionné de cette maniere donc j'ai trouvé autrement !!!!
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
28 déc. 2007 à 02:31
Bonjour,

Effectivement ça ne peut pas marcher, ce qu'a donné icomicar marche pour une base de données, mais EXCEL N'EST PAS UNE BASE DE DONNEES ...

Pour ton cas voilà ce que je propose :

Sub Search()
Dim strCbo As String
Dim i As Long

With Worksheets(1)
'On suppose que la colonne A contient les noms du combobox, la colonne B les prénoms, le colonne C les âges et que la ligne 1 contient le libellé des colonnes

strCbo = cboNom.Text
i = 2

While .Range("A" & i).Value <> ""
If .Range("A" & i).Value = strCbo Then
UserForm1.TxtNom.text = .Range("A" & i).Value
UserForm1.TxtPrenom.text = .Range("B" & i).Value
UserForm1.TxtAge.text = .Range("C" & i).Value
End If
i = i + 1
Wend
End Sub

bon courage

;o)

Polux
0