VBA comboxbox vers multiples textbox
ginger
-
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
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!!!
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!!!
A voir également:
- VBA comboxbox vers multiples textbox
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Clavier qwerty vers azerty - Guide
- Vers quelle adresse web renvoie ce lien - Guide
- Envoyer vers - Guide
- Minuscule vers majuscule - Guide
3 réponses
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
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
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
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