Insertion Image VBA

Bonjour,

je souhaiterais insérer une image dans des cellules fusionnées.

Dans l'idéal il faudrait que l'image soit redimensionnée à la taille des cellules fusionnée mais qu'elle garde ses proportions.

j'ai bidouiller un bout de code qui fonctionne presque mais mon image se déforme:

Sub InsertionImage()

Dim Emplacement As Range

Dim Img As Object

Dim ShapeObj As Shape

'Boucle pour supprimer l'ancienne image

For Each ShapeObj In ActiveSheet.Shapes

If ShapeObj.Name = "Cible" Then ActiveSheet.Shapes("Cible").Delete

Next ShapeObj

If Application.Dialogs(xlDialogInsertPicture).Show Then

'Définit l'emplacement de l'image

Set Emplacement = Range("B3:J8")

Set Img = ActiveSheet.DrawingObjects(ActiveSheet.Shapes.Count)

With Img.ShapeRange

'Nommer l'image insérée (Pour la supprimer plus facilement ensuite)

.Name = "Cible"

.LockAspectRatio = msoFalse

.Left = Emplacement.Left

.Top = Emplacement.Top

.Height = Emplacement.Height

.Width = Emplacement.Width

End With

With ActiveSheet.Shapes("Cible")

.LockAspectRatio = False ' proportions d'origine lorsque vous la redimensionnez

End With

With Selection

.PrintObject = True ' l'objet est imprimé en même temps que le document

.Placement = xlMoveAndSize ' manière dont l'objet est lié aux cellules

End With

Else

MsgBox "Insertion d'image interrompue."

End If

End Sub

je n'y connais rien en VBA, si quelqu'un pouvait m'aider...

merci

En effet ton image va se déformer..

Si ton image fait 20*20 et que ta cellule fait 15*7 on fait comment ?

7*7?

Et on la place où: top left ?

Merci Engue Engue pour ta réponse.

Oui je crois comprendre que ma photo se met de B3 en J8.

en fait ce qui serait idéal c'est que mon image se redimensionne en gardant ses proportions et se mette à l'emplacement des cellules B3 à J8 en se centrant automatiquement sur cette zone.

Mais pour cela il faudrait peut être que ma zone (B3:J8) fonctionne comme une case de tableau...

Je découvre tout juste le VBA et se n'ai pas facile quand on procède empiriquement...

Et le pingouin il mange l'arc en ciel ?

j'ai dis une grosse connerie?

Je t'ai posé deux questions et tu n'as répondu à aucune.

Mets un fichier avec ce que tu as et ce que tu veux, je te fais la modif.

oui pardon, je m'explique un peu mieux donc...

Je souhaite éditer des planning pour une salle de concert.

mon fichier comporte plusieurs feuilles faisant référence à une première comportant les infos.

Je rentre donc mes infos (nom des groupes *, production, horaires) sur cette première feuille de mon classeur excel et toutes mes autres feuilles s'éditent automatiquement.

je voudrais donc faire de même pour l'insertion du logo de la production que j'accueille dans ma salle.

Seulement c'est là que sa bloque, l'emplacement destiné à recevoir ce logo est composé de plusieurs cellules fusionnées.

De plus l'image à insérer n'est jamais la même (elle change à chaque concert) et n'a donc jamais la même taille au départ.

Je joins une feuille de mon fichier, pour que tu vois ce dont je parle. je n'en ai mis qu'une pour simplifier.

J'espère être plus clair cette fois.

85exemple.xlsx (255.02 Ko)
Rechercher des sujets similaires à "insertion image vba"