Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA: Image dans cellule

1 réponse
Avatar
Emile63
Bonjour Í  tous,

Il y a-t-il une possibilité (avec VBA) de centrer (Horiz + Vertic) une image dans la cellule qui l'abrite.
En partant du principe qu'elle ne déborde pas sur d'autres cellules.

Et dans le même but, est-il possible d'adapter (proportionnellement) l'image Í  la dimension de la cellule qui l'abrite?

Pour l'heure, je fais tout ça Í  la souris, mais le résultat imprimé n'est pas probant… :(
Merci d'avance pour votre aide et conseils,
Bonne journée
Emile

1 réponse

Avatar
MichD
Le 20/10/21 Í  03:50, Emile63 a écrit :
Bonjour Í  tous,
Il y a-t-il une possibilité (avec VBA) de centrer (Horiz + Vertic) une image dans la cellule qui l'abrite.
En partant du principe qu'elle ne déborde pas sur d'autres cellules.
Et dans le même but, est-il possible d'adapter (proportionnellement) l'image Í  la dimension de la cellule qui l'abrite?
Pour l'heure, je fais tout ça Í  la souris, mais le résultat imprimé n'est pas probant… :(
Merci d'avance pour votre aide et conseils,
Bonne journée
Emile

Bonjour,
Essaie ceci :
'---------------------------
Sub TestMonImage()
'Feuil1 = Nom de l'onglet de la feuille
' Range("b5:D6") = La cellule o͹ la plage de cellule
'que doit couvrir l'image
"F:Imagestest.JPG" = Chemin et nom de l'image
InsérerImage "Feuil1", Range("b5:D6"), "F:Imagestest.JPG"
End Sub
'---------------------------
Sub InsérerImage(Feuille As String, RgImage As Range, NomImage As String)
Dim Rg As Range
Set Rg = Worksheets(Feuille).Range(RgImage.Address)
With Rg
Largeur = .Offset(, 1)(, .Columns.Count).Left - .Left - 1
Hauteur = .Offset(.Rows.Count).Top - .Item(1).Top
Set image = Worksheets(Feuille).Pictures.Insert(NomImage)
End With
With image
With .ShapeRange
.LockAspectRatio = msoFalse
.Left = Rg.Left + 1
.Top = Rg.Top
'Largeur de l'image
.Width = Largeur
'Hauteur de l'image
.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
End With
.Placement = xlFreeFloating 'or xlmove or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------
MichD