insérer 1 image dans 1 cellule à la bonne taille?

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

jojo2006

XLDnaute Occasionnel
bonjour à tous,

voila je voudrais insérer une image (1 logo en réalité) (en fonction d'une valeure d' une textbox d'un userform) mais je voudrais l'insérer à la bonne taille dans une cellule spécifique. Le souci c'est lorsque je veux effacer l'image pour la remplacer par une autre je ne sais pas comment faire car le nom de l'image sans arret.


voici mon code :


Sheets("fiche retour").Select
Cells(1, 1).Select
ActiveSheet.Pictures.Insert(lien_fichier_logo).Select


ceci m'insere l'image mais ne la redimensionne pas à la taille de la cellule.



l'image insérée porte un nom différent de celle du fichier (exemple picture1 puis picture2 puis picture3 etc...)

en fait le nom change tout le temps.

avez vous une solution?😕


merci à vous tous
 
Re : insérer 1 image dans 1 cellule à la bonne taille?

re JOJO,

je récupère les dimensions de la cellule en points pour les affecter à l'objet inséré:

Dim H As Long
Dim L As Long
Dim C As Range

Cells(1, 1).Select
Set C = Cells(1, 1)
H = C.Height
L = C.Width

ActiveSheet.Pictures.Insert("path vers ton image").Select
With Selection
.Name = "MonImage"
.ShapeRange.LockAspectRatio = msoFalse
.Placement = xlMoveAndSize
.ShapeRange.Height = H
.ShapeRange.Width = L
End With


A+

Luc
 
Re : insérer 1 image dans 1 cellule à la bonne taille?

merci ca marche nickel

mon dernier souci est que comme mon image change je dois l'effacer mais parfois elle n'est pas présente je dois donc faire un test sur l'existence de l'image sur ma feuille??

quelque chose dans le genre

if "image_logo" exists then

ActiveSheet.Shapes("image_logo").Select
Selection.Delete

end if



lorsque l'image est introuvable j'ai une erreur


as tu une idée??
 
Re : insérer 1 image dans 1 cellule à la bonne taille?

Oui, j'ai une idée:
Affecter l'image à une variable objet, si 'image n'existe pas ça génère une erreur, dont la gestion est différée par le "resume next". Puis il suffit de regarder si le numéro d'erreur est 0 ( pas d'erreur donc l'objet existe) ou autre( l'objet n'existe pas et on zappe la sélection).
Important: ne pas oublier de réactiver la gestion d'erreur après le test.

dim Pic as object
on error resume next
set pic= ActiveSheet.Shapes("image_logo")
if err.number=0 then pic.select
on error goto 0

je n'ai pas testé, mais ça devrait marcher, si tu as un souci, n'hésite pas.

A+
Luc
 
Re : insérer 1 image dans 1 cellule à la bonne taille?

Bonjour Jojo, Luki, le fil

ce code m'interesse mais je ne sais pas quoi mettre dans
("path vers ton image").

je souhaiterai l'intergrer à une macro que j'ai deja mais sur laquelle j'ai deja un code qui s'applique à la première ligne

comment faire?

merci de votre aide
 
- 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

Réponses
1
Affichages
221
  • Question Question
XL pour MAC Formule image
Réponses
10
Affichages
1 K
Réponses
11
Affichages
840
Retour