Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

taille d'une image auto-adaptée à la taille de la case

  • Initiateur de la discussion Initiateur de la discussion alexco
  • 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 !

A

alexco

Guest
Bonjour,

Y a-t-il moyen d'introduire une image (jpeg) dans Excel et de:

1) attacher l'image à la case (position)
2) faire en sorte qu'elle remplisse entièrement la case (taille)

Merci de vos conseils avisés.

🙂
 
Re : taille d'une image auto-adaptée à la taille de la case

salut alexco,

Un petit bout de code à adapter à tes besoins. On suppose qu'il y a déjà une image dans la feuille active :
Code:
Sub AdapterTailleImage()
    Dim rngCell As Range
    
    Set rngCell = Range(InputBox("Adresse de la cellule :", "Nouvelle cellule", "A1"))
    
    ActiveSheet.Shapes("Picture 1").Select
    With Selection
        .ShapeRange.Left = rngCell.Left
        .ShapeRange.Top = rngCell.Top
    
        .ShapeRange.ScaleWidth rngCell.Width / .ShapeRange.Width, msoFalse, msoScaleFromTopLeft
        .ShapeRange.ScaleHeight rngCell.Height / .ShapeRange.Height, msoFalse, msoScaleFromTopLeft
    End With
    
    Set rngCell = Nothing
End Sub
 
Re : taille d'une image auto-adaptée à la taille de la case

Merci,

Ja'i besoin d'une petite précision:

Je ne comprends pas tout à fait ce que fait la ligne :

Set rngCell = Range(InputBox("Adresse de la cellule :", "Nouvelle cellule", "A1"))

et que dois-je y spécifier ?

Merci
 
Re : taille d'une image auto-adaptée à la taille de la case

pour être plus lisible :
Code:
Sub AdapterTailleImage()
    Dim rngCell As Range
    Dim strAdresse As String
    
    ' entrer l'adresse d'une cellule
    strAdresse = InputBox("Adresse de la cellule :", "Nouvelle cellule", "A1")
    ' créer une variable de type Range qui référence la cellule définie par l'utilisateur
    Set rngCell = Range(strAdresse)
    
    ' sélectionner l'image
    ActiveSheet.Shapes("Picture 1").Select
    
    With Selection
        ' positionner le coin gauche/haut de l'image à gauche de la cellule spécifiée
        .ShapeRange.Left = rngCell.Left
        ' positionner le coin gauche/haut de l'image en haut de la cellule spécifiée
        .ShapeRange.Top = rngCell.Top
        
        ' rngCell.Width / .ShapeRange.Width = calcul du coefficient nécessaire pour adapter la largeur de l'image à la largeur de la cellule
        .ShapeRange.ScaleWidth rngCell.Width / .ShapeRange.Width, msoFalse, msoScaleFromTopLeft
        ' rngCell.Height / .ShapeRange.Height = calcul du coefficient nécessaire pour adapter la hauteur de l'image à la hauteur de la cellule
        .ShapeRange.ScaleHeight rngCell.Height / .ShapeRange.Height, msoFalse, msoScaleFromTopLeft
    End With
    
    ' libérer la mémoire réservée pour la variable
    Set rngCell = Nothing
End Sub
 
Re : taille d'une image auto-adaptée à la taille de la case

bonjour comment faire pour conserver la proportion de l'image car en faisant (avant de modifier la taille) le code suivant:

Selection.ShapeRange.LockAspectRatio = msoTrue

cela ne marche pas, (l'image est déformé)

en fait je voudrais insérer l'image dans la cellule en conservant les proportions et en centrant l'image dans la cellule.

c'est possible ou pas?

merci beaucoup
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…