Corriger macro pour afficher image jpeg

  • Initiateur de la discussion Initiateur de la discussion LuLu
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

LuLu

Guest
Bonjour,

Voici une macro qui me permet d'afficher une image jpeg chaque que je tape un mot correspondant à toutes les images contenus dans mon repertoire...

Comment dois-je faire pour :
- faire que cette macro ne s'applique que dans les cellules D4:F4; D8:F8
- faire que l'image s'affiche dans la cellule du dessous et que la taille de l'image s'adapte à celle de la cellule (tout en gardant une bonne proportionnalité)
- faire que l'image soit supprimée avant qu'une nouvelle ne s'affiche par dessus (si jamais l'idée me venait de changer de mot)

Merci à vous, cela m'aiderait beaucoup

Bon courage à tous
PS : Voici la macro actuelle


Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Val As String
Dim MyCell As Range
Dim MyPicture As Picture
Dim Pict
Dim a As Long
On Error GoTo errorhandler
Application.ScreenUpdating = False

Val = Target.Value

With Application.FileSearch
.NewSearch
.Filename = '.jpg'
.LookIn = ThisWorkbook.Path
.SearchSubFolders = False
.Execute msoSortByFileName, msoSortOrderAscending

If .Execute > 0 Then
Set MyCell = Target.Offset(1, 0)
MyCell.Select



For Each Pict In ActiveSheet.DrawingObjects ' supprimer ancienne image dans cellule
If Pict.Left = MyCell.Left + (MyCell.Width - 50) / 2 And Pict.Top = MyCell.Top + (MyCell.Height - 50) / 2 Then Pict.Delete
Next

Set MyPicture = ActiveSheet.Pictures.Insert(ThisWorkbook.Path & '\\' & Val & '.jpg')
With MyPicture.ShapeRange
.LockAspectRatio = msoFalse
.Height = 55
.Width = 55
.Top = MyCell.Top + (MyCell.Height - 50) / 2
.Left = MyCell.Left + (MyCell.Width - 50) / 2

End With
MyCell.Select
MsgBox Pict.Left
End If


End With
Application.ScreenUpdating = True
Exit Sub

errorhandler:
Application.ScreenUpdating = True
Exit Sub
End Sub
 
Merci Bynabik,

Votre travail est sincèrement formaidable... Je n'ai maintenant plus qu'à centrer l'image dans la cellule à l'horizontale comme à la verticale et tout sera parfait... J'espère y arriver par mes propres moyens...

En tout cas Merci Merci et Merci encore
Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
447
Compte Supprimé 979
C
Réponses
4
Affichages
545
Réponses
2
Affichages
1 K
Retour