condition pour list dans combobox

  • Initiateur de la discussion zouille
  • Date de début
Z

zouille

Guest
salut a tous
voila , j'ai besoin de votre aide
dans mon projet , j'ai un userform 'plan' qui contient des boutons et j'aimerais qu'en cliquant sur ces boutons , l'autre userform s'ouvre et que le combobox qui est dedans contienne certaine infos ( fonction du bouton cliquer )

exemple:
*userform1 : je clique sur le bouton 'E220'
*(ouverture du userform2)
*j'aimerais que le combobox du userform 2 contienne les elements de la collone b ( de ma feuille excel) à condition que dans la colone a il y ai escrit E220
* et de meme pour tous les autre boutons

ci joint mon fichier avec le code de depart
merci a vous [file name=essai_20060414181405.zip size=14229]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essai_20060414181405.zip[/file]
 

Pièces jointes

  • essai_20060414181405.zip
    13.9 KB · Affichages: 25
Z

zouille

Guest
MichelXld écrit:
bonsoir Zouille , JP et Bebere

ci joint une adaptation qui intègre un module de classe pour gérer le Clic sur chaque bouton .
(l'exemple affiche ensuite le 2eme USF mais je n'ai pas compris ce qui doit y etre visualisé )

l'objet Image dans un Frame me rapelle quelque chose ...;o)


bonne soirée
MichelXld [file name=Essaiv4.zip size=17715]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Essaiv4.zip[/file]

salut et merci ,donc pour l'expliquation:
si je clique sur le bouton E220 j'aimerais avoir dans userform info :
-dans le combobox : b2 et b3 (car a2 et a3 = e220)
-dans le textbox 1 : c2 si je selectionne b2 dans combobox ou c3 si je selectionne b3
textbox 3 et 4 : j'aimerais avoir d3 et e3 qqsoit le choix du combobox ( des l'ouverture du userform)

et idem pour un autre bouton : si e218
combob : b4
textbox1 : c4
textbox 2 et 3 : d3 e3

merci a toi
 

MichelXld

XLDnaute Barbatruc
bonjour Zouille , Bebere et JP

tu peux tester ce nouveau classeur


remarques :


j'ai suivi tes indications ,
j'aimerais avoir d3 et e3 qqsoit le choix du combobox
, mais ainsi tous les travaux à effectuer ne sont pas listés .


nomUserForm.Hide , sert à masquer une UserForm

il faut utiliser Unload Me pour fermer un UserForm



cher Bebere , tu trouveras quelques exemples dans la wiki page 8 (chapitre Visual Basic Editor)

https://www.excel-downloads.com/threads/ref-wiki-page-8-de-michelxld.92376/


bonne journée
MichelXld
[file name=Essaiv5.zip size=18660]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Essaiv5.zip[/file]

Message édité par: michelxld, à: 16/04/2006 06:36
 

Pièces jointes

  • Essaiv5.zip
    18.2 KB · Affichages: 30
Z

zouille

Guest
salut
c'est super , c'est exactement ce que je cherchais .
En ce qui concenre les travaux, il sagit des travaux a faire dans le local et non sur la machine , d'ou independant du choix du combobox ( mauvaise explication de ma part)

j'aurais qq petite questin afin de finaliser le projet.

1-si je rajoute 3 boutons sous mon combobox a partir desquelles j'ouvrirais des photos correspondant au choix combobox est ce possible , meme si plusieur machine dans meme local ( comme e220) :ce code et a mettre dans le modul de classe? ou Faut il que je cree des liens hypertexte dans les collone f - g -h et faire appel a partir du userform ? A tu une autre solution?

2-A l'ouverture du userform info , quelle valeur fut il changer pour que le combobox affiche directement le premier choix de ca liste

Encore merci a toi
 

MichelXld

XLDnaute Barbatruc
rebonjour


pour la 1ere question , je ne suis pas sur d'avoir bien compris , mais tu peux tester cette adaptation
le chemin des images est stocké dans les colonnes F , G et H de la feuille '2eme faux-pont'


pour la 2eme quetion

il faut ajouter

info.ComboBox1.ListIndex = 0

dans le module de classe



bonne journée
MichelXld [file name=Essaiv6.zip size=20975]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Essaiv6.zip[/file]
 

Pièces jointes

  • Essaiv6.zip
    20.5 KB · Affichages: 24
Z

zouille

Guest
ok
encore merci a toi , donc pour les photos , je souhaite ouvrir la photo ( dans une msgbox ou userform ou zone image ou apercu windows : le plus simple) en cliquant sur le bouton voulu.
(Photos stoqué dans dossier image)

la photo auras le nom de la collone A ( plus simple pour le code je pense).

pour E220 ---> e220-1.jpg / e220-2.jpg / e220-3.jpg
et idem pour le reste, donc dependant du choix dans combobox.

merci a toi
 
Z

zouille

Guest
j'avais oublié , qd je quitte le projet , j'ai un msg erreur:
erreur execution 380
Impossible de definir la propriete Listindex.Valeur de propriete non valide

a ce niveau : ( dans le modul de classe)
info.ComboBox1.ListIndex = 0

merci
 

MichelXld

XLDnaute Barbatruc
rebonjour

Oouuppss... tu as raison , le bouton de fermeture ne doit pas etre pris en compte dans la classe ...



tu peux adapter a procedure UserForm_Initialize :


For Each Obj In Me.Controls

If TypeOf Obj Is msforms.CommandButton Then

If Not Obj.Object.Caption = 'QUITTER' Then
Set Cl = New Classe1
Set Cl.CmdB = Obj
Collect.Add Cl
End If

End If

Next Obj



bon apres midi
MichelXld

Message édité par: michelxld, à: 16/04/2006 15:19
 
Z

zouille

Guest
MichelXld écrit:
rebonjour

Oouuppss... tu as raison , le bouton de fermeture ne doit pas etre pris en compte la classe ...



tu peux adapter a procedure UserForm_Initialize :


For Each Obj In Me.Controls

If TypeOf Obj Is msforms.CommandButton Then

If Not Obj.Object.Caption = 'QUITTER' Then
Set Cl = New Classe1
Set Cl.CmdB = Obj
Collect.Add Cl
End If

End If

Next Obj



bon apres midi
MichelXldMessage édité par: michelxld, à: 16/04/2006 15:19

ok merci , mais le probleme est que tout le code depend de la valeur c = cmdb.caption alors si je modifie , ca ne fonctionnera plus
tu veux que je remplace ce code par ton precedent ou que je l'incruste dedans .

Est ce que pour l'ouverture des images , a partir des boutons sous le combobox c'est possible ? est ce ds le modul de classe ou uniquement dans le userform info? car je doit toujours concerver en memoire le nom du bouton car = nom de la photo( voir explication dans ma reponse precedente)

merci a toi et de ton temps , ca me permet d'apprendre un peu vite , mais j'essaie de comprendre

merci
 
Z

zouille

Guest
pour la photo voila ce que j'essaie de faire
Code:
Private Sub UserForm_Initialize()
'photo.Caption= nom de la machine choisi ds combobox
Image1.AutoSize = True
Image1.Picture = LoadPicture('C:\\e220-1.JPG') 'chargement de la photo bouton.caption-1.jpg
photo.Height = Image1.Height
photo.Width = Image1.Width
End Sub

mais j'ai essayer de reprendre la valeur c mais en fait je pense qu'il faut refaire un modul de classe pour ce type d'action car
pour chaque choix dans le combobox , il yaura 1 a 3 photos disponible

merci a toi
 

MichelXld

XLDnaute Barbatruc
rebonjour

mais le probleme est que tout le code depend de la valeur c = cmdb.caption alors si je modifie , ca ne fonctionnera plus

ce n'est qu'un exemple . rien ne t'empeche de prendre un autre parametre dans ton projet .


Est ce que pour l'ouverture des images , a partir des boutons sous le combobox c'est possible ? est ce ds le modul de classe ou uniquement dans le userform info?


Le classeur ci joint regroupe les modifications suite à tes differentes remarques , dont l'ouverture des images depuis les 3 boutons
Le chemin des images est stocké dans les colonnes masquées du ComboBox lorsque tu cliques sur un des boutons ( E220 , E218 , E217 ...) , juste avant d'afficher l'UserForm 'info'

'---- chemin images dans colonnes F à H
info.ComboBox1.List(info.ComboBox1.ListCount - 1, 2) = C.Offset(0, 5) 'colonne F
info.ComboBox1.List(info.ComboBox1.ListCount - 1, 3) = C.Offset(0, 6) 'colonne G
info.ComboBox1.List(info.ComboBox1.ListCount - 1, 4) = C.Offset(0, 7) 'colonne H
'---------------------------------------



il te restera à adapter le chemin des images dans les colonnes F , G et H



bon apres midi
MichelXld [file name=Essaiv7.zip size=24997]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Essaiv7.zip[/file]
 

Pièces jointes

  • Essaiv7.zip
    17.3 KB · Affichages: 29
  • Essaiv7.zip
    17.3 KB · Affichages: 28
  • Essaiv7.zip
    17.3 KB · Affichages: 31
Z

zouille

Guest
ok
merci a toi , c'est ce que je voulais.
Par contre , si je veux ouvrir ces images dans un USF contenant une zone image.(car la l'image s'ouvre dans un explorateur internet)
celle ci:

Private Sub UserForm_Initialize()
Image1.AutoSize = True
Image1.Picture = LoadPicture........
USFphoto.Height = Image1.Height
USFphoto.Width = Image1.Width
End Sub

Comment dire aux 3 boutons d'ouvrir USFphoto (facil) mais avec tel image dedans (moins facil pour moi).

Sinon , est il possible de ne pas ecrir les chemins des image ds les collones F G H mais lie automatiquement les 3 boutons aux photo sachant quelles seront toutes ds un dossier 'photo', et dont les noms seront ceux du bouton sur le plan.
ex :
1-click sur bouton E220 sur le plan.
2-ouverture du USF info
3-click sur un des trois bouton image , ouvertur d'un USFphoto avec dedans E220-1.jpg ou E220-2.JPG ou E220-3.jpg

donc nom des photo =
nomdulocal-1.jpg soit collonne A
donc si j'ai bien compris , un rapport avec :
info.ComboBox1.List(info.ComboBox1.ListCount - 1, 1) = C.Offset(0, 2)
j'ai du mal avec (x,Y) et l'equivalent dans la feuille de calcul

ps:Mes 2 remarques ne sont que des details , mais ca me permet de comprendre mieux VBA car plus j'avance et plus je vois les possibilité de VBA

En tout cas merci enormement pour ton aide car sans a , je serait encore au point de depart
 
Z

zouille

Guest
bon j'ai essayer en utilisant les valeurs du combobox mais rien a faire.
mon probleme est de pouvoir dire que l'action sur le bouton image 1 (sur 3)ouvre la photo 1 dont le nom est celui de la collone A du combobox ( mais collone B uniquement visible dans combobox)donc
ListBox1.List(1, 1)
d'ou
image.USFphoto= LoadPicture (c:\\image\\ListBox1.List(1, 1)-1.jpg)

mais evidement ca ne marche pas car il ne prend pas en compte si c'est le bouton image 1 2 ou 3.

merci a vous
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 497
Membres
103 562
dernier inscrit
soso21