Passer au contenu principal

Comment redimensionner les images pour les adapter aux cellules dans Excel?

Les images normalement insérées flottent au-dessus des cellules, et la plupart du temps une image couvre beaucoup de cellules. Si une feuille de calcul contient un grand nombre d'images, vous souhaiterez peut-être placer chaque image dans une seule cellule. Mais comment y faire face? En fait, il existe plusieurs façons délicates de nous aider à redimensionner rapidement les images en fonction de la taille des cellules.

Redimensionner une image sélectionnée pour l'adapter à une seule cellule avec VB Macro

Redimensionnez les images insérées pour les adapter aux cellules avec Kutools for Excel


flèche bleue bulle droite Redimensionner une image sélectionnée pour l'adapter à une seule cellule avec VB Macro

Nous pouvons appliquer des macros VB pour redimensionner une image sélectionnée pour l'adapter à une seule cellule, mais pas redimensionner manuellement la largeur et la hauteur d'une image. Vous pouvez le faire avec les étapes suivantes:

Étape 1: insérez les images dans une feuille de calcul et sélectionnez une image que vous redimensionnerez pour l'adapter à une seule cellule.

doc-redimensionner les images pour les adapter aux cellules1

Étape 2: maintenez la touche ALT + F11 clés, et il ouvre le Microsoft Visual Basic pour applications fenêtre.

Étape 3: cliquez sur insérer > Moduleet collez la macro suivante dans la fenêtre Module.

VBA: redimensionne une image sélectionnée pour l'adapter à une cellule.

Public Sub FitPic()
On Error GoTo NOT_SHAPE
Dim PicWtoHRatio As Single
Dim CellWtoHRatio As Single
With Selection
PicWtoHRatio = .Width / .Height
End With
With Selection.TopLeftCell
CellWtoHRatio = .Width / .RowHeight
End With
Select Case PicWtoHRatio / CellWtoHRatio
Case Is > 1
With Selection
.Width = .TopLeftCell.Width
.Height = .Width / PicWtoHRatio
End With
Case Else
With Selection
.Height = .TopLeftCell.RowHeight
.Width = .Height * PicWtoHRatio
End With
End Select
With Selection
.Top = .TopLeftCell.Top
.Left = .TopLeftCell.Left
End With
Exit Sub
NOT_SHAPE:
MsgBox "Select a picture before running this macro."
End Sub

Étape 4: appuyez sur le F5 clé pour exécuter cette macro.

Étape 5: Répétez les étapes ci-dessus pour redimensionner d'autres images afin qu'elles s'adaptent à une seule cellule.

Désormais, toutes les images insérées sont redimensionnées et s'insèrent dans les cellules. Voir la capture d'écran suivante:

doc-redimensionner les images pour les adapter aux cellules2

Notes: Vous ne pouvez redimensionner qu'une seule image une fois. Si vous sélectionnez plusieurs images une fois, une boîte de dialogue d'avertissement apparaîtra.


flèche bleue bulle droite Redimensionnez les images insérées pour les adapter aux cellules avec Kutools for Excel

Si vous avez Kutools for Excel installé, vous pouvez appliquer son Importer des images outil pour redimensionner toutes les images pour les adapter aux cellules ou avec une hauteur fixe lors de l'insertion d'images.

Kutools for Excel comprend plus de 300 outils Excel pratiques. Essai gratuit sans limitation de 30 jours. Obtenez-le maintenant.

Étape 1: Sélectionnez les cellules de plage dans lesquelles vous souhaitez insérer des images et cliquez sur le bouton Entreprise >Import / Export > Importer des images. Voir la capture d'écran suivante:

doc-redimensionner-image-pour-adapter-cellule-1

Étape 2: dans le Importer des images boîte de dialogue, sélectionnez l'ordre d'insertion dans la liste déroulante, puis cliquez sur Ajouter pour ajouter les images dont vous avez besoin à partir d'un fichier ou d'un dossier, puis cliquez sur Taille bouton. Voir la capture d'écran:

doc-redimensionner-image-pour-adapter-cellule-2

Étape 3: Vérifier Taille de cellule correspondante option. Puis clique Ok > L’ pour fermer les boîtes de dialogue. Voir la capture d'écran:

doc-redimensionner-image-pour-adapter-cellule-3

Vous pouvez maintenant voir que les images sont insérées pour s'adapter aux cellules.

doc-redimensionner-image-pour-adapter-cellule-4

Notes: Vous pouvez également spécifier la hauteur et la largeur de la cellule à l'étape 3 pour redimensionner les images.

Si vous voulez en savoir plus à ce sujet Importer une image fonctionnalité, veuillez visiter ici.


Article connexe:

Comment redimensionner plusieurs cellules pour adapter rapidement les images au-dessus d'elles dans Excel?

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

Description


Office Tab apporte une interface à onglets à Office et facilite grandement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
Comments (15)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
La macro posiziona l'immagine "Immagine 2" al centro della cella ("D5"), anche se questa è unita ad altre celle. Spero possa esservi utile

Sub ImpFoto()
Dim hcell As Single ' altezza cella
Dim Lcell As Single ' larghezza cella
Dim hfoto As Single ' altezza foto
Dim Lfoto As Single ' larghezza foto
Dim Rfoto As Single ' rapporto foto h/L

Range("D5").Select

hcell = Selection.Height
Lcell = Selection.Width
hfoto = ActiveSheet.Shapes("Immagine 2").Height
Lfoto = ActiveSheet.Shapes("Immagine 2").Width
Rfoto = hfoto / Lfoto

If hfoto < Lfoto Then
Lfoto = Lcell - 10
hfoto = Lfoto * Rfoto

If hfoto > hcell Then
hfoto = hcell - 3
Lfoto = hfoto / Rfoto
End If

ActiveSheet.Shapes("Immagine 2").Height = hfoto
ActiveSheet.Shapes("Immagine 2").Width = Lfoto
Else
hfoto = hcell - 10
Lfoto = hfoto / Rfoto
ActiveSheet.Shapes("Immagine 2").Height = hfoto
ActiveSheet.Shapes("Immagine 2").Width = Lfoto
End If

Range("D5").Select

With ActiveSheet.Shapes("Immagine 2")
.Top = Selection.Top + (Selection.Height - .Height) / 2
.Left = Selection.Left + (Selection.Width - .Width) / 2
End With
End Sub
This comment was minimized by the moderator on the site
Thank you, it really works!
This comment was minimized by the moderator on the site
Hi, Need this code disabling the lock aspect ratio
This comment was minimized by the moderator on the site
Hi..
perfact solution. But i want that function to work with command button. i need to make a command button to insert and auto resize to cell size. please help.
This comment was minimized by the moderator on the site
Brilliant! Works great! Just what I was looking for! Thank you!
This comment was minimized by the moderator on the site
it works if the cells are not merged. unfortunately, I merged some cells and it fits only in the upper left cell which makes the photo very tiny.
This comment was minimized by the moderator on the site
Hi, I really love this macro that makes images fit cells, it really helped me with some work stuff. But does anyone know how to write this code for applescript? I have to use macs and the apple version of excel, Numbers, only uses applescript. Help! Many thanks, Harry
This comment was minimized by the moderator on the site
Thanks it did work but I have about 500 pictures so I don't want to do them one at a time - how do I do them all at the same time please?
This comment was minimized by the moderator on the site
Works!! But i have one question, i want to fit a img in a range of cells merged, how can i do it?
This comment was minimized by the moderator on the site
Public Sub FitPic()
'https://www.extendoffice.com/documents/excel/1060-excel-resize-picture-to-fit-cell.html
'Slight modification to resize into merged cells
On Error GoTo NOT_SHAPE
Dim PicWtoHRatio As Single
Dim CellWtoHRatio As Single
With Selection
PicWtoHRatio = .Width / .Height
End With
With Selection.TopLeftCell
CellWtoHRatio = .MergeArea.Width / .MergeArea.Height
End With
Select Case PicWtoHRatio / CellWtoHRatio
Case Is > 1
With Selection
.Width = .TopLeftCell.MergeArea.Width
.Height = .Width / PicWtoHRatio
End With
Case Else
With Selection
.Height = .TopLeftCell.MergeArea.Height
.Width = .Height * PicWtoHRatio
End With
End Select
With Selection
.Top = .TopLeftCell.MergeArea.Top
.Left = .TopLeftCell.MergeArea.Left
.Placement = xlMoveAndSize
End With
Exit Sub
NOT_SHAPE:
MsgBox "Select a picture before running this macro."
End Sub
This comment was minimized by the moderator on the site
[quote]Works!! But i have one question, i want to fit a img in a range of cells merged, how can i do it?By Marcelo[/quote] Marcelo did you get the updated marco for the merged cell? I am trying to do the same thing. thanks
This comment was minimized by the moderator on the site
I tried this macro last night and it adjust only the height. The width it doesn't incorrectly. Any Help please?
This comment was minimized by the moderator on the site
Thank you this was perfect!!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations