Bonjour,
Cela fait quelques jours que je cherche une solution simple et efficace pour une macro. Pour faire le plus simple et claire possible, je souhaite importer une image depuis un chemin réseau, la redimensionner et l'importer à une localisation précise sur ma feuille excel. Cela va être du traitement de masse, je vais créer tous les jours une quantité de fiche variable en fonction d'une base de données excel, il ne me manque plus que cette image à importer...
Par exemple, je veux que ma photo fasse au maxi 90 x 90 pixel en gardant ces proportions et soit positionnée au niveau supérieur gauche de ma cellule F1 par exemple.
J'ai trouvé ceux-ci sur internet, ca me parait pas mal pour ce que je veux faire, mais je ne trouve pas la façon de l'importer par la suite ... sans l'enregistrer sous un autre nom sur le réseau (je n'ai pas besoin du fichier source modifié)
Est-ce que vous pouvez m'aider ? Je suis pris par le temps ... d'habitude j'arrive à m'en sortir en explorant un peu le web ... je ne suis pas un pro de VBA.
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 Sub redimensionnerImage() Dim Img As WIA.ImageFile, IP As WIA.ImageProcess 'Création conteneur pour l'image à manipuler Set Img = CreateObject("WIA.ImageFile") 'Création du gestionnaire de filtre Set IP = CreateObject("WIA.ImageProcess") 'Chargement de l'image dans le conteneur Img.LoadFile "C:\fourmiz.JPG" 'Ajoute le filtre pour redimensionner l'image (Scale) IP.Filters.Add IP.FilterInfos("Scale").FilterID 'Définit la largeur maxi pour le redimensionnement IP.Filters(1).Properties("MaximumWidth") = 90 'Définit la hauteur maxi pour le redimensionnement IP.Filters(1).Properties("MaximumHeight") = 90 'remarque : 'Les proportions sont conservées. Le filtre prend en compte 'les ratios et adapte la taille pour ne pas dépasser les valeurs maxi définies. 'Application du filtre à l'image Set Img = IP.Apply(Img) 'Enregistre l'image redimensionnée Img.SaveFile "C:\fourmizThumbnail.JPG" ' <------- c'est ici dans la macro que je voudrais importer l'image traitée et non l'enregistrer ... End Sub
Par avance, merci de votre aide.
Partager