Bonjour
J'ai un code de recherche et d'affichage d'image
Je voudrais savoir ou et comment placer un "Clear content" lorsque j'apuie sur le bouton rechercher
En A2 un menu déroulant pour définir le nom
Un bouton Photo qui illustre le risque
Je voudrais que lorsqu'on clique sur photo l'image affichée précédement en E2:I20 soit effacée.
Comment faire?
Merci
Sub RechercheImage()
Dim ImageFile As FileDialog
'ouverture de l'explorateur et rechercher une image
Set ImageFile = Application.FileDialog(msoFileDialogFilePicker)
With ImageFile
.Title = "Sélectionner une esclave"
.Filters.Add "Toutes les images", "*.jpg, *.jpeg, *.png", 1
If .Show <> -1 Then
GoTo vide
End If
'on récupère l'image et on le colle le lien dans la 1° feuille en J2
Sheets(1).Range("J2") = .SelectedItems(1)
End With
Call afficherImage
vide:
End Sub
===============
Sub afficherImage()
Dim ImageLien As String
With Sheets(1)
On Error Resume Next
.Shapes("Mon Image").Delete 'Aller sur la forme (Shapes) nommé Mon Image et s'il y a une erreur on affiche rien
On Error GoTo 0
ImageLien = Range("J2") 'on donne la cellule du lien de l'image
'Si le lien de l'image est vide on ne fait rien, sinon on continue la procédure
If ImageLien = Empty Then
Exit Sub
End If
With .Pictures.Insert(ImageLien) 'A partir du lien affiche l'image
With .ShapeRange 'Objet (Range) = cadre de l'image (Shape)
.Name = "MonImage"
.LockAspectRatio = msoTrue 'On verrouille l'aspect de l'image
'on donne la taille de l'image
.Height = Range("E2:I20").Height - 1
End With
End With
'définir l'emplacement de l'image (centré)
With .Shapes("MonImage")
.Left = Sheets(1).Range("E2").Left
.Top = Sheets(1).Range("E2").Top
'.IncrementLeft (20) ' on bouge l'image de + 20 donc elle va à droite
'.IncrementTop (10) ' on bouge l'image de - 80 donc elle va descendre
'ou alors on va centrer l'image en prenant la taille des cellules fusionnées (E2:I20) - la largeur de l'image/2
.IncrementLeft (Range("E2:I20").Width - .Width) / 2
.IncrementTop (Range("E2:I20").Height - .Height) / 2
End With
End With
End Sub
Edit modo : code à mettre entre balises avec le bouton </>