Bonjour,

je prépare une boucle pour copier des photos d'une feuille à une autre en réduisant la taille au passage.
Pour mettre au point, j'ai adapté ce que me donne l'enregistreur de macro et commencé par faire une boucle de 1 (pas de boucle)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
Sub Macro3()
Dim i As Integer
 
For i = 2 To 2
 
Workbooks("ES-Catalogue.xlsm").Activate
Sheets("Param Services").Select
'ActiveSheet.Shapes.Range(Array("Picture 170")).Select  Ce que ne donne l'enregistreur de macro
' remplacer par For Each pour préparer une boucle -> ensuite .Range("D" & i)
    For Each shp In ActiveSheet.Shapes
        If shp.Top = Workbooks("ES-Catalogue.xlsm").Sheets("Param Services").Range("D2").Top Then
        Selection.Copy
 
' Edition du catalogue actif
        Workbooks("ES-Edition du Catalogue des Services.xlsm").Activate
        Range("B8").Select
        ActiveSheet.Paste
        Selection.ShapeRange.ScaleHeight 0.4693333333, msoFalse, msoScaleFromTopLeft
    End If
    Next
 
Next i
End Sub
Le résultat est bon, l'image est copiée et réduite au bon endroit (B8 de feuille2), le problème est que la photo copiée n'est pas D2 de feuille1 comme je voulais le faire, mais systématiquement la photo sur laquelle pointe le curseur sur Feuille2.
Si je sélectionne D6 de feuile2 avec la souris c'est elle qui sera copiée...