1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Option Explicit
Sub LinkToImage()
Dim cel As Range
Range("I7").Select
Range(Selection, Selection.End(xlDown)).Copy
' les lignes du haut selectionnent les cellules contenant la concatenation (1)
Range("J7").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'colle en tant que valeur les resultats de la formule concatennee (2)
Range("J7").Select
' selectionne les cellules collees (2) en tant que valeur
Range(Selection, Selection.End(xlDown)).Select
For Each cel In Selection
cel.Offset(0, -9).Select
cel.Offset(0, -9).RowHeight = 100
cel.Offset(0, -9).ColumnWidth = 40
'ajuste la taille des cellules ou seront collees les photos
ActiveSheet.Shapes.AddPicture _
Filename:=cel.Value, _
LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, _
Width:=cel.Offset(0, -9).Width, _
Height:=cel.Offset(0, -9).Height, _
Left:=cel.Offset(0, -9).Left, _
Top:=cel.Offset(0, -9).Top
'-9 correspond au decalage de l'image (ici en colonne 1)par rapport au chemin d acces ici en colonne 10 (ramene a 9)
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).LockAspectRatio = msoTrue
Next cel
End Sub |
Partager