Microsoft 365 Récupérer une image dans une cellule Excel

Eric D CIV

XLDnaute Nouveau
Bonjour,
Je suis tout nouvel inscrit sur ce forum.
Je cherche désespérément une macro pour récupérer une image dans une cellule excel.
La feuille contient Colonne A l'image et colonne B un nom.
Je dois générer des fichiers jpg pour chaque image avec son nom.
J'ai vu un exemple de code ci dessous sur ce forum mais même l'exemple me créer des images vides . J'ai bien activé les macro avant d'exécuter.
Il y aurait il une adaptation pour les version 365 d'Excel.
Merci de votre aide
 

Pièces jointes

  • Export_images.xls
    58 KB · Affichages: 23

MP59

XLDnaute Occasionnel
Bonjour,
Ton détour par powerpoint fonctionne effectivement.
en modifiant ta macro comme suit, ce petit bricolage fonctionne par exemple ici pour multiplier par 5 la taille de ton image de départ.
A améliorer sans doute avec une inputbox.
1588837631226.png
 

job75

XLDnaute Barbatruc
Bonjour Eric D CIV, MP59,
J'ai vu un exemple de code ci dessous sur ce forum mais même l'exemple me créer des images vides . J'ai bien activé les macro avant d'exécuter.
Il y aurait il une adaptation pour les version 365 d'Excel.
Oui sur les dernières versions d'Excel il faut un certain temps d'attente pour que Paste crée la Shape.

On peut y remédier avec une boucle Do/Loop comme ceci :
VB:
Sub extraire_img()
Dim sh As Shape, img As Object
Dim ndf As String
    For Each sh In ActiveSheet.Shapes
        If Left(sh.Name, 1) <> "B" Then
            ActiveCell.Activate
            ndf = Range(sh.TopLeftCell.Address).Offset(0, 1).Text
            ndf = ActiveWorkbook.Path & "\" & ndf & ".jpg"
            sh.CopyPicture xlScreen, xlPicture
            Set img = ActiveSheet.ChartObjects.Add(0, 0, 5 * sh.Width, 5 * sh.Height)
            Do
                img.Chart.Paste
                DoEvents
            Loop While TypeName(Selection) = "Range" 'en attente de création de la Shape
            img.Chart.Export ndf, "JPG"
            img.Delete
        End If
    Next sh
End Sub
Edit : multiplié par 5 la taille des images.

A+
 

Pièces jointes

  • Export_images(1).xls
    78 KB · Affichages: 12
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 713
Messages
2 081 808
Membres
101 819
dernier inscrit
lukumubarth