Bonjour a tous
et H.E.L.P..
apres plusieurs heures sur le forum je ne solutionne pas mon probleme:
J ai des fichiers excel avec des centaines de photos.
dans la colonne "A" il y a les images mais de petite taille.
dans la colonne "B" une reference
je veux extraire les images en .jpeg vers un dossier avec comme nom de fichier la colonne "B"
j ai trouvé cette macro qui fonctionne a merveille:
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
ndf = Range(sh.TopLeftCell.Address).Offset(0, 1).Text
ndf = ActiveWorkbook.Path & "\" & ndf & ".jpg"
sh.CopyPicture xlScreen, xlPicture
Set img = ActiveSheet.ChartObjects.Add(2, 2, sh.Width, sh.Height)
img.Chart.Paste
img.Chart.Export ndf, "JPG"
img.Delete
End If
Next sh
End Sub
mais... il en faut bien un!!!
l image perd toutes ses qualités; j ai l impression qu'il s agit ici d'une sorte de capture d'ecran.
alors pour garder une bonne qualité d image, je cherche une macro a executer en premier pour doubler la taille de mes image dans les cellules.
je les extraits apres, plus grandes donc de meilleures qualitée.
merci d avance
et H.E.L.P..
apres plusieurs heures sur le forum je ne solutionne pas mon probleme:
J ai des fichiers excel avec des centaines de photos.
dans la colonne "A" il y a les images mais de petite taille.
dans la colonne "B" une reference
je veux extraire les images en .jpeg vers un dossier avec comme nom de fichier la colonne "B"
j ai trouvé cette macro qui fonctionne a merveille:
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
ndf = Range(sh.TopLeftCell.Address).Offset(0, 1).Text
ndf = ActiveWorkbook.Path & "\" & ndf & ".jpg"
sh.CopyPicture xlScreen, xlPicture
Set img = ActiveSheet.ChartObjects.Add(2, 2, sh.Width, sh.Height)
img.Chart.Paste
img.Chart.Export ndf, "JPG"
img.Delete
End If
Next sh
End Sub
mais... il en faut bien un!!!
l image perd toutes ses qualités; j ai l impression qu'il s agit ici d'une sorte de capture d'ecran.
alors pour garder une bonne qualité d image, je cherche une macro a executer en premier pour doubler la taille de mes image dans les cellules.
je les extraits apres, plus grandes donc de meilleures qualitée.
merci d avance