Bonjour à tous,
Je dois me plonger dans VBA pour résoudre un problème mais je ne pense pas y arriver seul... Je dois insérer des images liées à une cellule dans excel en passant par une macro. Jusque là ça va. Par contre comme il y a pas mal d'image, la taille du fichier augmente au delà du raisonnable. Je ne parviens pas à trouver l'option qui permettrait de ne plus lier la taille de l'image que j'ai insérée à celle du fichier d'origine. Il y a une case à cocher dans les options de l'image mais je ne voudrais le faire directement à partir de la macro. Le code que j'utilise est en dessous.

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
Sub Photo()
    Dim Pos As String
    Dim Chemin As Variant
    Dim Photo As IPictureDisp, rapport As Double
    Dim Gauche, Sommet, Largeur, Hauteur As Single
    Dim Tmax As Integer
 
 
    Pos = InputBox("Position de la photo?", "Position")
    If Pos = "" Then
    Exit Sub
    Else
    Chemin = Application.GetOpenFilename("Images JPEG (*.jpg), *.jpg")
    Select Case Chemin
    Case ""
    Exit Sub
    Case Is <> ""
 
    Set Photo = LoadPicture(Chemin)
    Plarg = Photo.Width
    Phaut = Photo.Height
 
    Gauche = Range(Pos).Left
    Sommet = Range(Pos).Top
    Range(Pos).ColumnWidth = 37.69
    Range(Pos).RowHeight = 200 * Phaut / Plarg
    Largeur = 200
    Hauteur = 200 * Phaut / Plarg
    Ech = 200 / Plarg
 
 
    Set test = Sheets("TRA").Shapes.AddPicture2(Chemin, False, True, Gauche, Sommet, Largeur, Hauteur, 1)
    test.ScaleHeight 1, False
    test.ScaleWidth 1, False
 
    Set test = Nothing
    Set Photo = Nothing
    End Select
    End If
 
End Sub
En vous remerciant pour votre aide

Sergei RT