Macro enregistrer image

Résolu/Fermé
devi16 Messages postés 35 Date d'inscription samedi 28 avril 2012 Statut Membre Dernière intervention 18 octobre 2020 - Modifié par devi16 le 8/06/2016 à 19:37
Mike-31 Messages postés 18320 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 20 juin 2024 - 9 juin 2016 à 14:46
Bonjour;
J'ai un fichier avec deux colonne une avec du textes (A) et l'autre avec des images (B).
Je voudrais enregistrer les images dans un dossier en associent le texte comme nom de l'image.
Connaissez-vous une macro ?
voici le lien vers le dossier;
C:\Users\virginie\Pictures
Merci
A voir également:

4 réponses

Mike-31 Messages postés 18320 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 20 juin 2024 5 083
Modifié par Mike-31 le 8/06/2016 à 19:41
Bonsoir,

ton lien n'est pas valide fait comme ceci
1) Clic sur ce lien https://www.cjoint.com/
2) Clic sur le bouton Parcourir pour sélectionner ton fichier
3) Clic sur le bouton Créer le lien en bas de la page
4) Au bout de quelques secondes en haut de la page en bleu souligné un lien sera généré, tu le sélectionnes et tu le copies dans une réponse


A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
devi16 Messages postés 35 Date d'inscription samedi 28 avril 2012 Statut Membre Dernière intervention 18 octobre 2020
8 juin 2016 à 19:46
Bonjour, je n'est pas mis de lien ces juste pour que les personne qui peuvent m'aider sache ou je veux mettre les image.
0
Mike-31 Messages postés 18320 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 20 juin 2024 5 083
8 juin 2016 à 22:20
Re,

essaye comme cela si le chemin du fichier est bon

Option Explicit

Sub enregistre_image()
Dim sh As Shape, img As Object
Dim nom As String
For Each sh In ActiveSheet.Shapes
If Left(sh.Name, 1) <> "B" Then
nom = Range(sh.TopLeftCell.Address).Offset(0, -1).Text
nom = "C:\Users\virginie\Pictures\" & nom & ".jpg"
sh.CopyPicture xlScreen, xlPicture
Set img = ActiveSheet.ChartObjects.Add(0, 0, sh.Width * 1.25, sh.Height * 1.25)
img.Chart.Paste
img.Chart.Export nom, "jpg"
img.Delete
End If
Next sh
End Sub
0
devi16 Messages postés 35 Date d'inscription samedi 28 avril 2012 Statut Membre Dernière intervention 18 octobre 2020
9 juin 2016 à 04:26
Bonjour,
Merci de votre aide, mais il y a un problème dans le code.
Voici la ligne concerné :
nom = Range(sh.TopLeftCell.Address).Offset(0, -1).Text
Encore merci
0
Mike-31 Messages postés 18320 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 20 juin 2024 5 083
9 juin 2016 à 08:40
Re,

bizarre, je viens de retester sans problème, j'ai ajouté une gestion d'erreur pour ne pas bloquer le code.
enregistre le fichier et teste le, avec ce fichier les images s’enregistreront dans le même répertoire, on verra plus tard comment les copier dans le répertoire voulue
https://www.cjoint.com/c/FFjgOcMqsXj
0
devi16 Messages postés 35 Date d'inscription samedi 28 avril 2012 Statut Membre Dernière intervention 18 octobre 2020
9 juin 2016 à 13:58
voici le lien ou j'ai mis une partie de mon fichier:
https://www.cjoint.com/c/FFjl5UZiRPx
0
Mike-31 Messages postés 18320 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 20 juin 2024 5 083
Modifié par Mike-31 le 9/06/2016 à 14:47
Re,

regarde ton fichier en retour, il te suffit de l'enregistrer dans un dossier et cliquer sur le bouton.
je l'ai enregistré avec l'extension xls mais tu peux l'enregistrer sous et lui donner l'extension xlsm mais surtout pas xlsx, cette extension ne prends pas en compte les macros
https://www.cjoint.com/c/FFjmRCTKY6j
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0