Aide sous excel avec un useform
coupidon
-
antic80 Messages postés 4877 Statut Contributeur -
antic80 Messages postés 4877 Statut Contributeur -
Bonjour, et meilleur voeux à tous.
Voici ma question, je débute timidement sous excel et surtout en vba.
Je souhaiterais savoir, comment dans le userform afficher dans un textbox, le resultat suite au choix selectionné dans une liste modifiable.
En gros j'ai dans ma userform une liste de choix modifiable et deux texte box, et sous excel une feuille de paramétre avec une liste de chiffres, puis une liste de nom et une liste de prenom, je me creuse la tête pour dire à la texte box1 par exemple; Que si la liste modifiable choisi ce numero là, tu affiche le texte dans ta case qui est dans la ligne à côté et pareil pour l'autre texte box avec la ligne qui est encore à côté, je sais pas si je suis assez concis dans mes propos, mais voilà.
sous excel
la feuille à pour nom "parametre"
avec
N°rue,Nom,Prenom
et un userform avec une liste de choix pour les N° de rue
et 2 textes box pour afficher le nom et le prenom
Si quelqu'un aurais l'amabilité et le talent pour m'eclairer, j'en serais ravis. Mais surtout voisr si c'est réalisable...
Merci, merci,merci beaucoup
Voici ma question, je débute timidement sous excel et surtout en vba.
Je souhaiterais savoir, comment dans le userform afficher dans un textbox, le resultat suite au choix selectionné dans une liste modifiable.
En gros j'ai dans ma userform une liste de choix modifiable et deux texte box, et sous excel une feuille de paramétre avec une liste de chiffres, puis une liste de nom et une liste de prenom, je me creuse la tête pour dire à la texte box1 par exemple; Que si la liste modifiable choisi ce numero là, tu affiche le texte dans ta case qui est dans la ligne à côté et pareil pour l'autre texte box avec la ligne qui est encore à côté, je sais pas si je suis assez concis dans mes propos, mais voilà.
sous excel
la feuille à pour nom "parametre"
avec
N°rue,Nom,Prenom
et un userform avec une liste de choix pour les N° de rue
et 2 textes box pour afficher le nom et le prenom
Si quelqu'un aurais l'amabilité et le talent pour m'eclairer, j'en serais ravis. Mais surtout voisr si c'est réalisable...
Merci, merci,merci beaucoup
A voir également:
- Aide sous excel avec un useform
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Trier un tableau excel - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
4 réponses
alors prenons le cas ou tes 3 colonnes sont a, b, c
dans le code de ta liste déroulante tu met ca(avant toute chose dans les propriétés de la liste a la ligne rowsource tu met la plage dans laquelle il y a les numéros de rue . par exemple a1:a10)
donc tu met le code suivant pour ta liste
Private Sub ListBox1_Click()
valeur = ListBox1.Value
Cells.Find(What:=valeur, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False).Activate
TextBox1.Text = ActiveCell.Offset(0, 1).Value
End Sub
explication
valeur=listbox1.value listbox1 c le nom par defaut de la liste, si tu as spécifé un nom mais le
ici on recupere la valeur de listebox et on l'enregistre dans une variable
Cells.Find(What:=valeur, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False).Activate
ici on cherche la valeur dans la liste et on active la cellule ds laquelle il y a la valeur chercher
TextBox1.Text = ActiveCell.Offset(0, 1).Value
textbox1 prend pour valeur, la valeur qui se trouve a coté de la cellule active donc ds ton cas le nom
pour le prenom ben a la place de 1 tu met car prenom se trouve ds la 2e colonne a coté
n'hesite pas pour d'autres infos
dans le code de ta liste déroulante tu met ca(avant toute chose dans les propriétés de la liste a la ligne rowsource tu met la plage dans laquelle il y a les numéros de rue . par exemple a1:a10)
donc tu met le code suivant pour ta liste
Private Sub ListBox1_Click()
valeur = ListBox1.Value
Cells.Find(What:=valeur, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False).Activate
TextBox1.Text = ActiveCell.Offset(0, 1).Value
End Sub
explication
valeur=listbox1.value listbox1 c le nom par defaut de la liste, si tu as spécifé un nom mais le
ici on recupere la valeur de listebox et on l'enregistre dans une variable
Cells.Find(What:=valeur, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False).Activate
ici on cherche la valeur dans la liste et on active la cellule ds laquelle il y a la valeur chercher
TextBox1.Text = ActiveCell.Offset(0, 1).Value
textbox1 prend pour valeur, la valeur qui se trouve a coté de la cellule active donc ds ton cas le nom
pour le prenom ben a la place de 1 tu met car prenom se trouve ds la 2e colonne a coté
n'hesite pas pour d'autres infos
juste en dessous de Private Sub ListBox1_Click()
ecris
dim valeur as string
c le probleme est tjs la supprime parametre! dans rowsource
ecris
dim valeur as string
c le probleme est tjs la supprime parametre! dans rowsource
Merci, j'avais trouver la réponse avant que tu me la donne, en fouillant dans les aides et sa marche super bien. Par contre, mon projet n'est pas encore fini.
J'ai encore plein de questions à te poser, serais tu prêt à m'y aider ?
Si sa te derange pas? tu me semble bien connaitre la programmation et je t'en remercie.
as tu MSN, sa serais plus simple pour discuter?
J'ai encore plein de questions à te poser, serais tu prêt à m'y aider ?
Si sa te derange pas? tu me semble bien connaitre la programmation et je t'en remercie.
as tu MSN, sa serais plus simple pour discuter?
j'ai donc suivis tes instructions, mettre le chemin dans la rowsource la liste des n° de rue de A1:A10 en exemple se qui donne vue que ma feuille s'appelle paramètres:
dans la rowsource: paramètres!A1:A10
ont est ok
j'ai ecrit ta ligne de code dans le vba, mais en l'executant il me dit que la variable n'est pas définie, "valeur" dans ta ligne de code et un nom aléatoir ou est-ce une variable précise?
je bloque encore....
donc normalement si je choisis une valeur de la feuille excel de A1 à A10, elle devra m'afficher la valeur ecrite à coté.
si je choisi le numero de la ligne A2 sa affichera B2 sur le textebox de ma userform?
pourquoi alors me dit il que ma variable n'est pas définie?