Est_il possible d'alléger des photos par VBA ?

rounil09

XLDnaute Occasionnel
Bonjour la liste,

Peut-on alléger des photos par VBA ?
Je voudrais passer des photos JPG de 1000 ko environ à 20 ko environ.
 

rounil09

XLDnaute Occasionnel
Re : Est_il possible d'alléger des photos par VBA ?

Bonjour à vous tous, je reprends le fil à l'instant
Merci de toutes vos réponses, je vais m'y pencher.
En fait je sais faire les réductions d'image avec GIMP (Pour ceux que cela intéresse, je donne la méthode avec GIMP car il est gratuit).
Il suffit de :
Ouvrir GIMP en écran réduit
Faire glisser son fichier dans GIMP
Sélectionner Image --> taille de l'image
Dans la fenêtre qui s'ouvre modifier la hauteur par exemple remplacer 2000 par 100.
Cliquer sur échelle pour valider.
Esuite enregistrer cette image par fichier enregistrer sous...
Et c'est tout
Avec cette méthode (et l'habitude) je suis passé de 1960 ko à 15 ko en moins d'une minute.

Bien entendu, en sus, vous pouvez sélectionner une zone et triturer vos photos (seuils, niveaux, couleurs, contraste...) essentiellement avec le menu couleur. On peut aussi jouer sur de nombreux autre paramètres, dont la résolution.

Quant au code VBA pour redimensionner la photo dans excel, il tient en 2 lignes.

ActiveSheet.Shapes("Photo").Select (remplacer "photo" par le nom de votre image).
Selection.ShapeRange.Height = 50 (le chiffre donne la hauteur de la photo).

En fait, mon problème était d'essayer d'automatiser un allégement de photo par une macro afin que quiconque puisse réaliser cette manip. (j'ai des fichiers comprenant des fiches avec photos identités + Nom, prénom etc.. 20 champs au total) pour avoir juste à récupérer la fiche complète.
Bref avoir du tout cuit.
Mais il semblerait que mon idée de récupérer un miraculeux code VBA n'était pas - pertinente
En tous cas merci de votre aide, je vais piocher dans vos propositions pour arriver à mes fins.
 

rounil09

XLDnaute Occasionnel
Re : Est_il possible d'alléger des photos par VBA ?

Bonjour Michel XLD.
Je n'arrive pas à faire fonctionner ton code.
En cherchant dans le WEB j'ai retrouvé ce même code et la réponse suivante pour un utilisateur qui n'arrivait pas à l'exécuter :

"Dans démarrer executer... faire RegSvr32 WIAAut.dll
Cela marche pour "Microsoft Windows Image Acquisition 2"

Je suis sous W7 64 bits. Suite à cette manip le fichier indiqué a bien été chargé mais j'ai un code d'erreur qui m'indique que je ne peux le lancer.
Je ne suis pas assez expert pour faire l'analyse des fichier et les bidouiller. Trop de risque de tout planter.
Quelqu'un a t-il rencontré et résolu ce problème ?
 

rounil09

XLDnaute Occasionnel
Re : Est_il possible d'alléger des photos par VBA ?

Bonjour,
Je viens de passer plusieurs heures à chercher dans toutes les directions avec insuccès. J’ABANDONNE LA PARTIE mais je reste frustré. Je résume : avec EXCEL 2007, à partir d’une image insérée de 1200 ko, si je passe par le menu FORMAT ---> taille et propriétés et que je change la hauteur de ma photo qui est de 54 cm par 2 cm mon fichier passe à 27 ko. Par contre, si j’essaye par VBA la redim d’image, c’est impossible en fonction du code utilisé : soit le poids du fichier ne change pas (il reste à 1200 ko), soit j’ai un message m’indiquant que l’objet n’est pas reconnu. J'en reste bouche bée, mais c'est ainsi.
A priori – si j’ai bien compris mes compétences en la matière étant limitées – la cause de mon échec vient du fait que j’utilise W7 qui tourne sur mon PC à 64 bits et non à 32 bits.
A moins qu’un expert PC ou du codage ne me contredise…
En tout cas merci pour vos avis éclairés.
 

MJ13

XLDnaute Barbatruc
Re : Est_il possible d'alléger des photos par VBA ?

Re

Je viens de passer plusieurs heures à chercher dans toutes les directions avec insuccès. J’ABANDONNE LA PARTIE mais je reste frustré. Je résume : avec EXCEL 2007, à partir d’une image insérée de 1200 ko....
A priori – si j’ai bien compris mes compétences en la matière étant limitées – la cause de mon échec vient du fait que j’utilise W7 qui tourne sur mon PC à 64 bits et non à 32 bits.

Je viens de tester sur Win 7 32 bits et XL2007, les macros de MichelXLD fonctionnent.

A voir avec la version 64 Bits. Seuls ceux le possédant pourront t'en dire plus.

Mais on ne peut pas émuler en 32 bits du 64 bits :confused:.
 

Staple1600

XLDnaute Barbatruc
Re : Est_il possible d'alléger des photos par VBA ?

bonjour à tous

rounil09

Ton titre de message parle de photos au pluriel
Et ton dernier message ne parle que d'une seule photo.
Si donc cela concerne un seule photo, autant faire la manip que tu décris plus bas manuellement sans macro.

Si par contre, il s'agit toujours de plusieurs photos, utilises en amont un logiciel tiers pour redimensionner tes photos (par un traitement par lot) selon tes besoins pour Excel.

Une fois ce redimensionnement effectué, tu n'auras plus à te prendre la tête avec Excel et tes photos. ;)
 

MJ13

XLDnaute Barbatruc
Re : Est_il possible d'alléger des photos par VBA ?

Re, Bonjour JM.


JM, il a raison, pourquoi le faire avec Exel, alors qu'il existe des logiciels qui le font ;).

Ah merci JM pour ton savoir unique au monde :p.

Mais des fois, on se demande à quoi on sert sur XLD :).
 

Staple1600

XLDnaute Barbatruc
Re : Est_il possible d'alléger des photos par VBA ?

Re


Bonjour MJ13

Je poserai la question dans l'autre sens ;)

A quoi nous sert XLD ?

Et la réponse est : ... *
(* En ce qui me concerne je sais)

Et pour répondre à ta propre question : je pense ne servir à rien sur XLD quand je vois le nombre de messages que j'écris concernant le titre, la charte etc.. et qui sont superbement ignorés ;)

De toute façon , je ne sers qu'un seul Dieu et maitre:
La Cellule (et aussi souvent son prince : Vador Basic (avec Applicateur ) )

PS: quand à
... ton savoir unique au monde ...
Il n'a rien d'unique, il est a disposition de tous sur le net, dans des bouquins, dans des videos, dans des tutoriels, entre les cuisses de ma voisine parfois.
 
Dernière édition:

Discussions similaires

Réponses
12
Affichages
487
Réponses
8
Affichages
318