Ajuster la dimension d'une image selon un pourcentage

  • Initiateur de la discussion Initiateur de la discussion Tanid
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Tanid

XLDnaute Nouveau
Bonjour (ou bonsoir) tout le monde!

J'ai un épineux problème qui se pose à moi... et j'ai pensé à votre science!

Je dois produire un rapport de résultats suite à un test. Ce test comporte 11 parties, et pour chaque partie je voudrais illustrer le résultat grâce à un icône, ou une image, mais dont la taille soit proportionnelle au résultat.

Ex: si la personne à 33%, l'image sera trois fois plus petite que celui qui a eu 100%.

J'aimerai, idéalement, que l"image soit fonction du pourcentage. Pour faciliter l'exemple, en prenant une largeur max de 1 pouce (qui correspond à 100%), si la personne a 58%, l'image aura une largeur de 0.58 pouce.

J'imagine qu'on tombe ici dans de la macro, mais si ça peut se faire en formule, ça serait magique!

J'ai fouillé pas mal sur le forum, mais je n'ai rien trouvé qui me permette de faire ceci... Les seules macros que j'ai trouvé permettent la sélection de l'image à insérer en fonction d'une valeur, mais pas le redimensionnement d'une image connue en fonction d'une variable.

Je vous joins un ti fichier simpliste, mais qui dit tout! 😉😉

Merci d'avance!!!

Cédric
 

Pièces jointes

Re : Ajuster la dimension d'une image selon un pourcentage

Bonsoir,

vois si le fichier joint correspond à ton souhait :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address(0, 0) = "A5" Then
    ActiveSheet.Shapes("Image_A5").Delete
    Sheets("Image").Shapes("Voyage").Copy
    ActiveSheet.Paste
    With Selection
        .Name = "Image_A5"
        .Width = Sheets("image").Shapes("Voyage").Width * Target
        .Height = Sheets("image").Shapes("Voyage").Height * Target
    End With
End If
End Sub
 

Pièces jointes

Re : Ajuster la dimension d'une image selon un pourcentage

Bonsoir,

Un 'tit essai modeste car je n'arrive pas à faire exactement ce que tu veux, mais au cas où, le principe est de limiter la saisie en A5 par une validation de données n'autorisant que des chiffres décimaux entre 0 et 1, puis d'insérer ce code dans la feuille "Rapport", l'image ayant été préalablemet copiée en A6.

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A5")) Is Nothing And Target.Count = 1 Then
Dim L As Long, H As Long, ech As Double
 
With Sheets("image")
L = .Shapes("Voyage").Width
H = .Shapes("Voyage").Height
End With
 
With Sheets("Rapport")
ech = .Range("A5")
.Shapes("Voyage").Height = H * ech
.Shapes("voyage").Width = L * ech
End With
 
End If
End Sub

Je continue à suivre le fil car je suis sûre que tu auras de meilleures suggestions.

Bonne soirée/nuit,

mth

Edit: sourire... bonsoir Softmama 🙂

🙂🙂🙂 Hi Ges 🙂🙂🙂
 

Pièces jointes

Dernière édition:
Re : Ajuster la dimension d'une image selon un pourcentage

Wow!!!

Vous êtes des dieux!

@Softmama et Hasco: à première vue, votre fichier fait exactement ce que je veux! Je vais regarder le code pour voir lequel des deux s'adapte le mieux à mon fichier...

@mth: l'approche est intéressante, mais comme les fichiers de softmama et hasco fonctionnent, je vais utiliser l'un de ceux-là... Par contre, je conserve le code pour un besoin futur qui s'apparenterait à ce type d'approche...

J'ajoute une toutite question, mais j'imagine que je vais trouver la réponse seul: comme j'utilise des fichiers images vectoriel pour la plupart (.eps), puis-je insérer une ligne dans le code pour indiquer que 100% de la taille = une largeur de 1 pouce? Car j'ai remarqué que pour le code de softmama, 100% me donne 1.83po et celui de hasco 0.88...

Y'a-t-il une variable quelconque ou la taille maxi est le format d'origine de l'image (en ce cas je vais redimensionner mes image à l'avance).

Encore une fois, merci! Vous venez de démontrer toute l'utilité de ce forum!
 
Re : Ajuster la dimension d'une image selon un pourcentage

Bonjour,

J'ai appliqué la règle "Office" comme dans la méthode Word 'InchesToPoint' pour laquelle 1 pouce = 72 points. Mais comme en informatique, rien n'est jamais simple, le 'point' pour affichage écran ne sera pas le même que pour impression (dpi) ou que le pixel écran.

A+

[Edition] va voir cet article: Point par pouce - Wikipédia
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour