ouvrir une image ds un userform en fonction d'une

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

zouille

Guest
salut a tous

voila , dans mon projet, j'ai un USF 'plan' qui s'affiche ds lequel il y a different boutons , un click sur ces boutons , m'ouvre le USF 'info' ds lequel je retrouve les informations propres au nom du bouton cliqué precedement.

mon probleme est que dans USF 'info' il y a 3 bouton photo.

J'aimerais q'en cliquant sur un bouton photo ca ouvre une photo ( dans le usf photo') correspondant au nom du bouton cliqué
(le nom des boutons correspond a des numeraux de local dans un bateau)

Pas evident a expliqué , le plus simple c'est d'essayer le fichier joint.

1-cliquer sur bouton E220
2-usf info s'ouvre avec des info ds le combobox
3-j'aimerais que les 3 boutons sous le combobx ouvre 3 photos fonction du nom du bouton dans le userform photo ( s'adaptant a la taille de la photo)
EX:
btn1 --> ouvre photo e220_1.jpg
btn2--> ouvre photo e220_2jpg
btn3--> ouvre photo e220_3jpg

et ce automatiquement en fonction du nom du bouton cliquer

grand merci a vous et j'espere que j'ai été clai [file name=essaiV7.zip size=17674]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essaiV7.zip[/file]
 

Pièces jointes

  • essaiV7.zip
    17.3 KB · Affichages: 27
  • essaiV7.zip
    17.3 KB · Affichages: 28
  • essaiV7.zip
    17.3 KB · Affichages: 26

MichelXld

XLDnaute Barbatruc
bonjour

ton projet commence à prendre forme ...o)

tu peux tester cette adaptation : les images doivent etre dans le meme repertoire que ce classeur et nommées e220_1.jpg , e220_2.jpg , e220_3.jpg ...etc ...


bon week end
MichelXld [file name=essai_V08.zip size=23023]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essai_V08.zip[/file]
 

Pièces jointes

  • essai_V08.zip
    22.5 KB · Affichages: 79
Z

zouille

Guest
salut

grand merci a toi , c'est exactement ce que je voulais

est il possible que qd une photo n'existe pas ou abscente, ca ouvre une photo secoure (la meme dans tt les cas)
par ex : rien.jpg ?

Sinon , pourais tu m'eclairer sur ces 2 ligne:
Code:
info.ComboBox1.ListCount - 1, 2)
et
C.Offset(0, 3)

car je n'arrive pas bien a comprendre a quoi correspondent les chiffres, je vois bien que c'est rapport au valeur de mon tableau mais pourquoi 0,3 ou -1,2
La collone A correspond a 0?

merci encore pour ton aide

bon dimanche :)
 

MichelXld

XLDnaute Barbatruc
bonjour

pour ta 1ere question

Private Sub UserForm_Initialize()
Dim monImage As String

monImage = ThisWorkbook.Path & '\\' & _
info.ComboBox1.List(info.ComboBox1.ListIndex, numImage)

If Dir(monImage) ‹› '' Then
Image1.Picture = LoadPicture(monImage)
Else
Image1.Picture = LoadPicture(ThisWorkbook.Path & '\\rien.jpg')
End If

End Sub



et quelques infos sur la macro


'creation de 5 colonnes dans le ComboBox
info.ComboBox1.ColumnCount = 5

', dont 4 colonnes masquées ( largeur=0 )
info.ComboBox1.ColumnWidths = '90;0;0;0;0;0'

'boucle sur les cellules de la colonne A dans la feuille 2eme faux-pont
For Each C In _
Sheets('2eme faux-pont').Range('A1:A' & Sheets('2eme faux-pont').Range('A65536').End(xlUp).Row)


'
'
'...
'

'C.Offset(0, 2) recupere les donnees de la colonne C
'C.Offset(0, 2) peut s traduite par :
'CelluleColonneA.Decalage(nombreLigne,nombreColonne)
'
'info.ComboBox1.List(info.ComboBox1.ListCount - 1, 1) peut se traduire par :
'info.ComboBox1.List(DerniereLigneDuCombobox, 2emeColonneDuCombobox )

info.ComboBox1.List(info.ComboBox1.ListCount - 1, 1) = C.Offset(0, 2)


'
'---- Ajoute les noms d'images dans la combobox :
'info.ComboBox1.List(info.ComboBox1.ListCount - 1, 2) peut se traduire par :
'info.ComboBox1.List(DerniereLigneDuCombobox, 3emeColonneDuCombobox )

info.ComboBox1.List(info.ComboBox1.ListCount - 1, 2) = CmdB.Caption & '_1.jpg'

info.ComboBox1.List(info.ComboBox1.ListCount - 1, 3) = CmdB.Caption & '_2.jpg'
info.ComboBox1.List(info.ComboBox1.ListCount - 1, 4) = CmdB.Caption & '_3.jpg'

'---------------------------

If info.ComboBox1.ListCount = 1 Then
'C.Offset(0, 3) recupere les donnees de la colonne D pour affichage dans le TextBox2
info.TextBox2 = C.Offset(0, 3)
info.TextBox3 = C.Offset(0, 4)
End If

'
'
'.....
'



bonne journée
MichelXld
 

Discussions similaires

Statistiques des forums

Discussions
312 236
Messages
2 086 477
Membres
103 228
dernier inscrit
malik832