XL 2019 Insertion automatique image

GUERET

XLDnaute Occasionnel
Bonsoir,
Dans ce fichier, je souhaiterai, sur la feuille "Écuries", mettre en face de chaque nom d'écurie son logo.
J'ai réussi avec le 1er (Williams) en passant par le gestionnaire de nom mais il me faudrait faire 10 fois la manip, trouver 10 nom différents :mad:
Par quelle méthode me serait-il possible de simplifier cette tâche sans VBA car je suis nul ? Mais, si c'est la seule solution, je me creuserais le cerveau pour comprendre.

Cordialement

https://mon-partage.fr/f/fPqYijir/
 

Softmama

XLDnaute Accro
Bonjour,

Un essai en PJ.

Il suffit de reproduire cet exemple dans votre fichier originel
A l'aide de ce module à copier dans la feuille Ecuries :

VB:
Private Sub Worksheet_Activate() 'Quand on ouvre la feuille, réaffiche les photos
Dim c As Range, sh As Shape


Application.ScreenUpdating = False 'on gèle l'affichage
For Each sh In Feuil1.Shapes
  sh.Delete 'on efface les images de la feuille écurie
Next
For Each sh In Feuil27.Shapes                                      'On regarde toutes les images de la feuille
  If sh.TopLeftCell.Column = 11 Or sh.TopLeftCell.Column = 12 Then                     'Si l'image se trouve en colonne K ou L
    If Not IsError(Application.Match(Feuil27.Range("J" & sh.TopLeftCell.Row), Feuil1.Range("C4:C13"), 0)) Then 'si l'image doit être copiée vers la feuille Ecurie
      sh.Copy   'on la copie
      Feuil1.Range("B3").Offset(Application.Match(Feuil27.Range("J" & sh.TopLeftCell.Row), Feuil1.Range("C4:C13"), 0), 0).PasteSpecial      'vers la feuille écurie, en face de l'écurie
    End If
  End If
Next
For Each sh In Feuil1.Shapes
  sh.Height = sh.TopLeftCell.Height 'on ajuste les tailles des images
Next
Application.ScreenUpdating = True 'on affiche le résultat
End Sub
 

Statistiques des forums

Discussions
315 133
Messages
2 116 600
Membres
112 801
dernier inscrit
Yaz113