Private Sub ComboBox1_Change() [COLOR=darkgreen]'au changement dans la ComboBox1[/COLOR]
ChDir [COLOR=red](change le dossier courant)[/COLOR] ActiveWorkbook.Path [COLOR=darkgreen]'[/COLOR][COLOR=darkgreen](pour le chemin de ce classeur actif)[/COLOR]
[COLOR=darkgreen]'rep = "chemin du serveur" (vu que cette ligne a été mise en commentaire il faudra, je pense, définir rep en dur si l'image se trouve sur un serveur...)[/COLOR]
On Error Resume Next [COLOR=darkgreen]'si il y a une erreur, passe à la ligne suivante (donc pas de plantage si rep n'est pas défini...)[/COLOR]
ActiveSheet.Shapes("Image1").Delete [COLOR=darkgreen]'supprime l'image "Image1" de l'onglet actif[/COLOR]
Image1 = ActiveSheet.Pictures.Insert(rep & Me.ComboBox1.Text & ".jpg").Select [COLOR=darkgreen]'définit Image1[/COLOR]
[COLOR=darkgreen]'insère une image dont le nom est définit par le nom de la TextBox1, situé dans le serveur (rep)[/COLOR]
Selection.Name = "Image1" [COLOR=darkgreen]'nomme l'image insérée[/COLOR]
With Me.Shapes("Image1") [COLOR=darkgreen]'prend en compte l'image[/COLOR]
.Top = 127 [COLOR=darkgreen]'définit sa position en hauteur[/COLOR]
.Left = 70 [COLOR=darkgreen]'définit sa position à gauche[/COLOR]
.Width = 150 [COLOR=darkgreen]'définit sa largeur[/COLOR]
.Height = 150 [COLOR=darkgreen]'définit sa hauteur[/COLOR]
End With [COLOR=darkgreen]'fin de la prise en compte de l'image[/COLOR]
[e2].Select [COLOR=darkgreen]'sélectionne la cellule E2 (pour désélectionner l'image certainement)[/COLOR]
End Sub
Private Sub CommandButton1_Click() [COLOR=darkgreen]'au clic sur le bouton[/COLOR]
For Each op In UserForm1.Frame2.Controls [COLOR=darkgreen]'boucle sur tous les boutons d'option de la frame2 de l'UserForm1[/COLOR]
If op Then [COLOR=darkgreen]'condition : si le bouton est coché[/COLOR]
Select Case op.Caption [COLOR=darkgreen]'agit en fonction du nom (caption) du bouton[/COLOR]
Case "F1" [COLOR=darkgreen]'cas "F1"[/COLOR]
Sheets(1).ComboBox1.ListFillRange = "liste1" [COLOR=darkgreen]'la ComboBox1 du premier onglet est alimentée par la liste "liste1"[/COLOR]
Sheets(1).ComboBox2.ListFillRange = "liste2" [COLOR=darkgreen]'la ComboBox2 du premier onglet est alimentée par la liste "liste2"[/COLOR]
Case "F2" [COLOR=darkgreen]'etc...[/COLOR]
Sheets(1).ComboBox1.ListFillRange = "liste3"
Sheets(1).ComboBox2.ListFillRange = "liste4"
Case "F3"
Sheets(1).ComboBox1.ListFillRange = "liste5"
Sheets(1).ComboBox2.ListFillRange = "liste5"
End Select [COLOR=darkgreen]'fin de l'action en fonction du nom[/COLOR]
Exit For [COLOR=darkgreen]'sort de la boucle (dès qu'une condition est remplie)[/COLOR]
End If [COLOR=darkgreen]'fin de la condition[/COLOR]
Next [COLOR=darkgreen]'prochain bouton d'option de la boucle[/COLOR]
Me.Hide [COLOR=darkgreen]'masque l'Userform[/COLOR]
Sheets(1).Select [COLOR=darkgreen]'active le premier onglet[/COLOR]
Sheets(1).ComboBox1.Text = "" [COLOR=darkgreen]'efface le contenu éventuel de la Combobox1 de cet onglet[/COLOR]
Sheets(1).ComboBox2.Text = "" [COLOR=darkgreen]'efface le contenu éventuel de la Combobox2 de cet onglet[/COLOR]
Sheets(1).Calculate [COLOR=darkgreen]'lance le recalcul de l'onglet (soit il était manuel, soit automatique mais comme il n'y a pas eu de moduf il n'était pas fait...)[/COLOR]
ActiveWindow.DisplayHeadings = False [COLOR=darkgreen]'masque les en-têtes de lignes et de colonnes[/COLOR]
End Sub