Macro excel d'insertion image

Dr Funk -  
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir à tous,

je planche sur un problème de macro Excel, avec laquelle je compte récupérer le chemin d'une image stocké dans une cellule pour l'insérer dans la feuille. Pour tout vous dire, j'ai découvert le langage il y a une petite heure, mais j'ai quand même réussi à me débrouiller avec ce que j'ai pu trouver sur Internet...

Cependant, j'ai une erreur de type "Erreur d'exécution 1004 : la méthode Insert de la classe Pictures a échoué". Je précise que j'utilise Excel 2003.

Voilà le morceau de code en cause :

Range("B15").Select ' B15 contient "C:\...\monimage.jpg"
Dim a As String
a = ActiveCell.Value
ActiveSheet.Pictures.Insert (a)

Pouvez-vous me débloquer?
Merci d'avance.

Dr Funk
A voir également:

2 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Salut docteur,

tiré de l'aide Ms

Set myDocument = Worksheets(1)
myDocument.Shapes.AddPicture _
"c:\microsoft office\clipart\music.bmp", _
True, True, 100, 100, 70, 70


AddPicture, méthode


Cette méthode crée une image à partir d'un fichier existant. Elle renvoie un objet Shape qui représente la nouvelle image.

Syntaxe

expression.AddPicture(FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height)

expression Obligatoire. Expression qui renvoie un objet Shapes.

FileName Argument de type String obligatoire. Fichier à partir duquel l'objet OLE doit être créé.

LinkToFile Argument de type Long obligatoire. Cet argument a la valeur True pour lier l'image au fichier à partir duquel elle a été créée. Il a la valeur False pour transformer l'image en une copie indépendante du fichier.

SaveWithDocument Argument de type Long obligatoire. Cet argument a la valeur True pour enregistrer l'image liée avec le document dans lequel elle est insérée. Il a la valeur False pour stocker seulement les informations de liaison dans le document. Cet argument doit avoir la valeur True si l'argument LinkToFile a la valeur False.

Left, Top Argument de type Single obligatoire. Position (en points) du coin supérieur gauche de l'image par rapport au coin supérieur gauche du document.

Width, Height Argument de type Single obligatoire. Largeur et hauteur de l'image, en points.

A+
Michel
1
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour

Tu peux remplacer toutes tes lignes par celle-ci qui devrait fonctionner.
ActiveSheet.Pictures.Insert ([B15])

ou pour la postionner à un endroit précis

ActiveSheet.Shapes.AddPicture [B15], True, True, 100, 100, 70, 70
en faisant varier les positions par exemple
ActiveSheet.Shapes.AddPicture [B15], True, True, [A10].Left, [A10].Top,  [A10].Width ,  [A10].Height  
pour positionner en A10

Quand tu enregistres, l'enregistreur rajoute des "select" pour tout mémoriser mais en fait tu n'en as pas besoin.
0