Page Accueil FAQ MPFE Liens Format de nombres Téléchargement Applications Combinaisons



* * *
  La FAQ
  VBAXL
Userform
  Usf N°1
  Usf N°2
  Usf N°3
  Usf N°4
  Usf N°5
  Usf N°6
  Usf N°7
  ListBox
  ListBox2
  ListBox3
Trucs
  Astuces
 
  Macro :o)
  Réactions
  Livre d'Or

 

Le contrôle "Image" (Picture)


Pour cet exemple nous allons créer un userform avec une zone de liste (combobox),
un contrôle image et un bouton de commande.
En sélectionnant un élément dans la zone de liste l'image du contrôle changera,
un clique sur le bouton de commande affichera l'image dans la feuille.

Télécharge le fichier formimg.zip (voir lien en bas) copie le tout sur ton disque:
le répertoire "formimg" avec les images au format jpg et le fichier exemple usfimg.xls

 

 Création de l'userform

1- Crée un userform
Propriété =>(Name) et nomme l'userform "formimg"

2- Place une zone de liste en haut

3- Le contrôle image en dessous
Propriété => PictureSizeMode => 3- fmPictureSizeModeZoom
pour ajuster l'image au contrôle

4- Le bouton de commande tout en bas.
Propriété =>Caption : Insertion de la jaquette sur la feuille



 

 Dans la feuille 1 du classeur

Place un bouton et affecte lui ce code pour afficher l'userform

Sub ShowForm()
Load formimg
formimg.Show
End Sub

Dans les cellules D1 à D5 tape le nom de fichier des images
sans l'extension (anneaux, jurassic, mohican, pocahontas, roilion).
Il est possible d'en ajouter la macro en tiendra compte.



 

 Le code

Il faut initialiser l'userform et la zone de liste (ComboBox1)
Dans l'éditeur VB, double-clique sur l'userform ou bien clique droit sur le nom de l'userform et "Code".




Dans la liste déroulante gauche en haut du code clique sur "Userform" dans celle de droite clique sur "Initialize"






Ce bout de code est créé automatiquement:

Private Sub UserForm_Initialize()
End Sub


Tape ce code entre les 2 lignes:

ComboBox1.RowSource = "D1:D" & ActiveSheet.UsedRange.Rows.Count
ComboBox1.ListIndex = 0


La première pour initialiser la ComboBox1 et la deuxième pour sélectionner le premier élément de la liste (Cellule D1)
Ce qui donne:

Private Sub UserForm_Initialize()
' Initialisation de la liste de la ComboBox1
ComboBox1.RowSource = "D1:D" & ActiveSheet.UsedRange.Rows.Count
' Sélection de l'index 1 de la liste
ComboBox1.ListIndex = 0
End Sub

 

Il faut indiquer le nom et le chemin des images à la ComboBox1 et charger l'image
Double-clique sur la ComboBox1 et tape ce code:

Private Sub ComboBox1_Change()
'Le mot clé "Me" remplace le nom de l'userform ("formimg")
nom = Me.ComboBox1.Value
On Error Resume Next
Fichier = ActiveWorkbook.Path & "\" & nom & ".jpg"
Me.Image1.Picture = LoadPicture(Fichier)
End Sub

 

Il faut affecter ce code au CommandButton1 qui place l'image sur la feuille.

Double-clique sur le CommandButton1 et tape ce code:

Private Sub CommandButton1_Click()
On Error Resume Next
nom2 = Me.ComboBox1.Value
Fichier2 = ActiveWorkbook.Path & "\" & nom2 & ".jpg"
ActiveSheet.Shapes("LaJacket").Delete
Range("B6").Select
ActiveSheet.Pictures.Insert(Fichier2).Select
Selection.ShapeRange.Name = "LaJacket"
[A1].Select
On Error GoTo 0
End Sub


Et voilà le résultat

 

formimg.zip   100 ko  Télécharge l'exemple et les images

 

Prochaine étape: Contrôler la saisie d'une textbox

[top]

 

     
 ©Conception et Graphisme. Daniel Josserand . Janvier 2002