[Excel 2007] Insérer une image avec transparence

Décembre 2016


Cette démo se substitue à plusieurs carences d'Excel pour l'insertion d'images et l'application de transparence.
Au moins deux possibilités d'introduire une image sur une feuille Excel,
1°) Insertion Image
Ruban Insertion >> Image,
Vous pouvez introduire l'image que vous voulez mais... oui il y à un mais, j'ai voulu introduire une image de 1920 x 1088 pixel et l'image faisait 1920 x 1088 Centimètres !!.
Autre solution : Sortir un contrôle image des outils Contrôles. (OCX), l'étaler sur la feuille, click droit et sélectionner >> Développeur >> Insérer >> Image et l'appliquer sur le feuille.
Click Droit sur l'image >> sélectionner Propriétés.
Mettre la propriété PictureSizeMode = 3
Dans la fenêtre propriétés, continuer avec Picture et sélectionner une image à incorporer dans le contrôle.
Jusque là, tout va bien, la photo est introduite dans le contrôle en gardant sont ratio largeur/hauteur. Vous pouvez adapter les dimensions du contrôle pour qu'elles coïncident avec les dimensions de l'image.
C'est déjà pas mal mais la transparence n'est pas disponible.

2°) Insertion Shape rectangle
Ruban Insertion >> Forme
Dessinez le rectangle comme souhaiter
Click droit >> Format de la forme. Cochez Remplissage avec Image ou texture .
Cliquez sur le bouton Fichier... pour changer d'image
Beh oui,... y a une image que l'ont peu rendre transparente mais... !! le ratio de l'image n'est pas disponible.
C'est justement ce que cette démo permet.
  • Introduire une image en gardant le ratio.
  • Garder les dimensions que vous avez déterminées au préalable.
  • Garder le ratio de l'image.
  • Transparence disponible.


Utilisation des APIs de GDI+ pour les dimensions de l'image.




Vous pouvez déplacer l'image, la faire tourner, modifier les dimensions de la surface disponible.
Mais il n'est pas conseiller de redimensionner l'image avec les poignées sous peine de perdre le ratio de l'image.

Pour la démo j'ai déterminé la surface disponible avec le coin supérieur droit du bouton Changer Image


Mais il est facile d'entrer directement les dimensions dans le code
Dans le Module1, la routine RemplaceImage il y a le code..
    'Rectangle disponnible pour l'image, en points
    With Sheets("Image").CommandButton1
        Dispo.W = (.Left + .Width)
        Dispo.H = .Top
    End With

Remplacer ces lignes par
    'Rectangle disponnible pour l'image, en points
        Dispo.W = La largeur en point
        Dispo.H = La hauteur en point


ATTENTION : Ces dimensions ne sont pas celle de l'image, en fonction du ratio du fichier image seulement l'une des deux sera effective.
Si la hauteur est plus grande que la largeur c'est la hauteur qui sera déterminante, la largeur servant à centrer l'image, et l'inverse si la largeur est plus grande que la hauteur.

Téléchargement


Fichier avec image de démo 3,2Mo
Fichier sans image 32Ko

A voir également :

Ce document intitulé «  [Excel 2007] Insérer une image avec transparence  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.