Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

userform lié

Y

yanou

Guest
Rebonjour j'ai un autre petit souci, j'ai une userform en cascade à 4 combobox.
Je voudrai que la valeur de ma derniere combobox m'ouvre un userform avec que des textbox (en faite une sorte de fiche) dont les valeurs seraient pris dans une autre base de données.

ex:

ma derniere valeur est Eric

je veux une userform alors qui s'affiche avec des textbox m'informant sur par exemple son adresse, son tel, son nom.

Ces données etant prises dans une base de données de type:
eric toto 0540330203 AVENUE DE TUTTU
david dupont 0430203020 BD DE TUIROL

Merci d'avance pour votre aide, à +
 
W

WILFRIED

Guest
Salut YANOU

En admettant que tes données soit dans un classeur : clas1, dans la feuille : fls1 , avecc les position :
A | B | C | D
1 |eric | toto | 0540330203 | AVENUE DE TUTTU


ton USF :

Usf2.textbox1.text=sheets("fls").range("A1").value
Usf2.textbox2.text=sheets("fls").range("B1").value
Usf2.textbox3.text=sheets("fls").range("C1").value
Usf2.textbox4.text=sheets("fls").range("D1").value

AINSI DE SUITE.

Si tu ne connait pas la postion exact de ton nom par rappport à A1 : Tu rajoute une boucle :

Range("A65536").select
range("A1",activecell.end(xlup)).select

for each m_cellule in selection
if m_cellule.value=usf1.combobox1.value then
m_ligne=m_cellule.row-1
exit for
end if
next
Usf2.textbox1.text=sheets("fls").range("A1").offset(m_ligne,0).value
Usf2.textbox2.text=sheets("fls").range("B1").offset(m_ligne,0).value
Usf2.textbox3.text=sheets("fls").range("C1").offset(m_ligne,0).value
Usf2.textbox4.text=sheets("fls").range("D1").offset(m_ligne,0).value

A+ Wilfried ;op
 
Y

yanou

Guest
Merci de m'avoir repondu mais j'ai pas tout compris (je suis debutant)

m_ligne et m_cellule sont des variant?
selection est une new collection?

c quoi exactement c variable?
 
W

WILFRIED

Guest
Salut Yanou,

m_cellule et mligne sont des variables voici le prog comme je l'ecrirais :

sub prog
dim m_cellule as range 'permet l'application à une variable
'des paramètre d'un range
dim m_ligne as long 'positionnement des lignes
'selection de la plage contenant les donnée

Range("A65536").select
range("A1",activecell.end(xlup)).select
'boucle de recherche
for each m_cellule in selection 'selection est la plage ci-dessus
if m_cellule.value=usf1.combobox1.value then
m_ligne=m_cellule.row-1
exit for
end if
next

'envoye des info vers ton USF

Usf2.textbox1.text=sheets("fls").range("A1").offset(m_ligne,0).value
Usf2.textbox2.text=sheets("fls").range("B1").offset(m_ligne,0).value
Usf2.textbox3.text=sheets("fls").range("C1").offset(m_ligne,0).value
Usf2.textbox4.text=sheets("fls").range("D1").offset(m_ligne,0).value

end sub

si tu doit réutiliser la plage selectionner :
sub prog
dim m_cellule as range 'permet l'application à une variable
'des paramètre d'un range
dim m_ligne as long 'positionnement des lignes
dim m_plage
'selection de la plage contenant les donnée

Range("A65536").select
range("A1",activecell.end(xlup)).select
m_plage =selection.address
'boucle de recherche
for each m_cellule in range(m_plage)
if m_cellule.value=usf1.combobox1.value then
m_ligne=m_cellule.row-1
exit for
end if
next

'envoye des info vers ton USF

Usf2.textbox1.text=sheets("fls").range("A1").offset(m_ligne,0).value
Usf2.textbox2.text=sheets("fls").range("B1").offset(m_ligne,0).value
Usf2.textbox3.text=sheets("fls").range("C1").offset(m_ligne,0).value
Usf2.textbox4.text=sheets("fls").range("D1").offset(m_ligne,0).value

end sub

si tu as des navigation entre feuille tu doit rajouter le lieu où ce situe ta selection :

sheets("feuil1").range(m_plage) ou
workbooks("toto.xls").sheets("feuil1").range(m_plage) si tu fait de la navigation entre deux classeurs.


A+ Wilfried ;op
 

Discussions similaires

Réponses
16
Affichages
605
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…