Envoyer une image d'une feuille Excel vers un dossier

Bonjour,

Voila j'ai un code qui me permet d'envoyer une image d'une feuille excel vers un dossier voici mon code:

Sub ExportImage()
  répertoire = ThisWorkbook.Path
  Set f = ActiveSheet
  nomShape = "image"
  Set img = f.Shapes(nomShape)
  img.CopyPicture
  f.ChartObjects.Add(0, 0, img.Width, img.Height).Chart.Paste
  f.ChartObjects(1).Chart.Export Filename:=répertoire & "\" & "image.jpg", FilterName:="jpg"
  f.ChartObjects(1).Delete
End Sub

Mon problème et que les images doivent portée le nom de l'acteur alors que mon code m'oblige de porté le nom" image"

Je recherche la modification pour pouvoir exporter mon image avec le nom de l'acteur concerné.

Je vous remercie d'avance

Cordialement

Max

Bonjour,

Tu ne peux pas exporter directement d'image à partir d'Excel. Tu peux opérer manuellement en copiant l'image dans Excel, en allant la coller dans une application graphique (Paint ou autre) pour pouvoir l'enregistrer dans un format image...

Mais une méthode est utilisable (que te fournit ton code), basée sur le fait que l'on peut exporter un graphique dans un format image. Donc on copie l'image, on la colle dans un nouveau graphique qu'on crée, on exporte le graphique au format jpg, et on supprime le graphique qui ne sert plus.

Ce code te fournit la démarche, mais c'est à toi de l'adapter pour lui dire quelle image et quel nom lui donner... ! Il te fournit l'essentiel pour t'alimenter, mais ne mâche pas à ta place !

Adaptation :

- d'abord déclarer les variables (il est bon de ne jamais se déshabituer de les déclarer) : il y a f (Worsheet), img (Shape), nomShape (String). On va y ajouter nomImg (String) pour le nom que tu veux donner (que VBA ne va pas inventer !

- ensuite il faut indiquer quelle image exporter (il devine pas !) : on fait simple ! Tu la sélectionnes avant de lancer l'export.

VBA peut donc récupérer le nom actuel de l'image. Il est bon aussi de prévoir que tu oublies de sélectionner et donc qu'il te rappelle à l'ordre dans ce cas, sans avoir à crier "erreur" et tout arrêter...

- il faut alors que tu lui donnes le nom que tu veux pour l'image : tu lui fais donc te demander quel nom il doit mettre, au moyen d'une InputBox. Comme il est prudent de toujours prévoir ses propres erreurs, si tu l'oublies il gardera le nom actuel (à toi de le changer ensuite pour rattraper !)

Avec tous ces éléments VBA peut maintenant opérer :

Sub ExportImage()
    Dim f As Worksheet, img As Shape, nomShape As String, nomImg As String
    répertoire = ThisWorkbook.Path
    Set f = ActiveSheet
    If TypeName(Selection) = "Picture" Then
        nomShape = Selection.Name
        nomImg = InputBox("Quel nom voulez-vous donner à l'image ?", "Nom image", nomShape)
        If nomImg = "" Then nomImg = nomShape
    Else
        MsgBox "Vous n'avez pas sélectionné d'image.", vbInformation, "Erreur de sélection"
    End If
    Set img = f.Shapes(nomShape)
    img.CopyPicture
    f.ChartObjects.Add(0, 0, img.Width, img.Height).Chart.Paste
    f.ChartObjects(1).Chart.Export Filename:=répertoire & "\" & nomImg & ".jpg", FilterName:="jpg"
    f.ChartObjects(1).Delete
End Sub

Cordialement.

Bonjour MFerrand

je te remercie beaucoup surtout pour tout les conseils et les instructions que tu donne qui pour moi sont super important.

Si je peut abuser de t'on savoir faire je voulais importer une image(s) d'internet vers un contrôle image qui se trouve sur un userform et je ne sais pas du tout comment faire!

Je joint un fichier qui seras plus explicite.

Je te remercie d'avance

Bonne journée

Max

Si tu sélectionnes ton image sur un site, la télécharge (Enregistrer l'image sous...), tu l'auras dans un dossier avec le nom que tu auras donné. la syntaxe à utiliser pour la mettre dans un contrôle Image est :

Image1.Picture = LoadPicture(chemin et nom)

Re,

Je te remercie il n'est pas possible de copier dans le presse papier et de coller dans le contrôle de l'userform?

@+

Max

Tu peux coller sur la feuille mais dans le contrôle image il faut l'affecter à sa propriété Picture.

Re

OK je te remercie

Max

Rechercher des sujets similaires à "envoyer image feuille dossier"