Redimentionner d'une image ou forme excel par un chiffre

Zemoda -  
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je souhaiterais redimentionner en hauteur une image importé ou une forme excel, un rectangle par exemple, à partir d'un chiffre allant de 1 à 100 ce trouvant dans une cellule excel.

100 représenterais la hauteur maximal de l'image et 1 serait équivalent a 1% de la hauteur.

Sachant que je souhaite faire varier plusieur voir ce chiffre par la suite... Et donc toujours garder la même proportion d'images.

Sachant que je ne m'y connais pas trop en excel. Je ne sais même pas si c'est possible.

Je travail sur excel 2010.

Je vous remercie par avance si vous connaissez un moyen de lier une cellule excel à la hauteur d'une image...

A voir également:

2 réponses

Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
Non, ce n'est pas possible.

Mais peut-être qu'un spécialiste de VBA pourrait t'écrire une macro ...
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour à vous 2

Comme dit Raymond il faut passer par un code VBA

En supposant la valeur variable de 1 à 100 en C2 et la forme affichée nommée maforme (dans la Zone nom en haut à gauche)

Alt + F11 pour ouvrir l'éditeur VBA

Copier et coller le code suivant dans la fenêtre VBA

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Row <> 2 And Target.Column <> 3 Then Exit Sub 'Ne fait rien si changement dans une cellule autre que C2 (ligne 2, colonne 3)

pourcentage = Target.Value / 100 'Prends la valeur en C2 et la dicise par 100

hauteur = 5 ' remplacer 5 ici par la hauteur en cm de l'original de départ
largeur = 12 ' remplacer 12 ici par la largeur en cm de l'original de départ

'Application du pourcentage à la taille image et convesrion des cms en points pour l'affichage
Shapes("maforme").Height = Application.CentimetersToPoints(hauteur * pourcentage)
Shapes("maforme").Width = Application.CentimetersToPoints(largeur * pourcentage)

End Sub

A ADAPTER :
-en changeant le n° de ligne et le n° de colonne dans la 1ere ligne si autre cellule que C2
- en indiquant les dimensions réelles de l'original dans hauteur et largeur
- en remplaçant maforme dans les dernières lignes par le nom réel de ta forme

Cdlmnt
0