Sub InsérerImagesModifié()
Dim ws As Worksheet
Dim wsImages As Worksheet
Dim i As Integer, j As Integer
' Définir la feuille de calcul à utiliser
Set ws = ThisWorkbook.Sheets("Feuil1") ' Remplacez "Feuil1" par le nom de votre feuille
Set wsImages = ThisWorkbook.Sheets("Feuil2") ' Remplacez "Feuil2" par le nom de la feuille contenant les images
ws.Select
' Parcours des lignes avec les noms de notes de musique
For i = 5 To 13 Step 2 ' Lignes B5, B7, B9, B11, B13
For j = 2 To 8 ' Colonnes B à H
Dim nomImage As String
nomImage = ws.Cells(i, j).Value
' Chercher l'image correspondante dans la feuille "Feuil2"
Dim imgShape As Shape
On Error Resume Next
Set imgShape = wsImages.Shapes(nomImage)
On Error GoTo 0
' Si l'image est trouvée, copier et coller dans la feuille "Feuil1"
If Not imgShape Is Nothing Then
imgShape.Copy
ws.Paste Destination:=ws.Cells(i + 1, j)
With Selection.ShapeRange
.Left = ws.Cells(i + 1, j).Left + (ws.Cells(i + 1, j).Width - .Width) / 2
.Top = ws.Cells(i + 1, j).Top + (ws.Cells(i + 1, j).Height - .Height) / 2
End With
Application.Goto ws.Cells(i + 1, j)
' Application.CutCopyMode = True
End If
Next j
Next i
End Sub