XL 2021 Extraction images depuis commentaire de cellule vers dossier.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jeff1494

XLDnaute Occasionnel
Bonjour à toutes et tous;

J'ai un fichier contenant plusieurs feuilles, dont une nommée "INVENDUS" qui contient une liste d'objets.
Une ligne par objet, et en colonne 2 j'ai la description de l'objet qui contient en commentaire une photo de l'objet.

Je voudrais par macro , pour chaque ligne pouvoir extraire la photo contenue en colonne 2, et la sauvegarder dans un dossier que je nomme "JPG_INV", avec comme nom la valeur de la cellule A de la ligne, et une extension ".jpg".

Pour ce faire j'ai récupéré une macro donnée par @patricktoulon sur un autre forum dans un message dont voici le lien (message #15).
Je l'ai placé dans un module nommé "Export_Images".

J'ai juste adapté le code pour correspondre à mes besoins, à priori rien qui ne puisse changer le fonctionnement de la macro.

Le résultat de l'exécution de cette macro, est que je crée bien les images dans le répertoire défini, mais juste la première images qui est affichée comme un carré blanc dans l'explorateur de Windows.

Donc si jamais @patricktoulon passait par là, je lui serais reconnaissant de bien vouloir m'aider à comprendre pourquoi la première image reste comme un carré blanc, alors que les suivantes sont correctement créées. Mais si une autre personne a une idée du pourquoi du comment je suis preneur.

A toutes fins utiles je vous joins un exemple du fichier que j'utilise.

D'avance je remercie tous ceux ou celles qui voudront bien perdre un peu de leur temps pour m'aider.
Bonne journée à toutes et tous.
 

Pièces jointes

Solution
Bonsoir @jeff1494

"Il manquait cela : .Activate"

Pour comprendre ici en Poste #38 : https://excel-downloads.com/threads/export-dimages-renommer-celles-ci.20034890/post-20674531

VB:
Option Explicit

Sub Export_Photos()
    Dim i As Long
    On Error Resume Next
    MkDir ThisWorkbook.Path & "\JPG_INV"
    Err.Clear
'    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets.Add(After:=Sheets("INVENDUS")).Name = "Feuille_Transit"
    
    With Sheets("Feuille_Transit").ChartObjects.Add(0, 0, 100, 100).Chart
        .Parent.Name = "calque"
    End With
    For i = 2 To Sheets("INVENDUS").Cells(Rows.Count, 2).End(xlUp).Row
        If Sheets("INVENDUS").Cells(i, 2).Comment.Shape.Fill.Type = 6 Then
        save_comment_fichier_jpg...
bon je viens de tester parce que ça m'a inquiété quand même
au bout d'une dizaine fois même le fichier de jeff ça le fait
du coup comme mon createur de ruban est basé sur sell.application (ziipage et unzippage) j'ai verifié 10 fois
et je n'ai pas de soucis
donc des le départ le fichier de jef avait un problème va savoir ou
en même temps quand je vois le reste du fichier je suis étonné qu'a moitié

peut être est ce seulement encore une de ces bizarrerie quand on utilise un fichier créé avec 2019 ou plus sur des versions inférieures

c'est dommage je suis convaincu que ma méthode est la meilleure

pour vérifier j'ai fait un scan chez moi sait on jamais un petit coup de accleaner
il a un peu trainé sur ces fichiers mais bref tout va bien

j'ai regardé dans les zips que je produit dans mon creator et tout va bien là aussi

j'ai pris le portable avec 2016 64 et ça le fait aussi

conclusion
soit y a un verrole
soit c'est encore une incompatibilité des fichiers produit avec une version supérieure
j'ai quelques exemple comme ça déjà constaté
 
j'ai pris le portable avec 2016 64 et ça le fait aussi
C'est bizarre moi je n'ai pas de problème avec un Excel 2016 32 bits sous windows 11
Essaie avec le fichier en pièce jointe où j'ai modifié ton code avec mon traitement avec les deux fichiers xml.
 

Pièces jointes

même erreur au même endroit avec le module jp
1738485971716.png
 
Bonjour le chat ; j'ai un problème avec shell.application au niveau de l'extraction qui corrompre les fichiers cette liggne m'extrait le fichier; UnZipeur.Namespace(DestFolderimage & "\").CopyHere (drawing1VMLREL) c'est du xml a l’intérieur sauf que je me retrouve avec un fichier ou les attribut rId sont doublé triplé ect... connaissez vous la raison de ce phénomène

ChatGPT a dit :​

Salut ! Oui, ce problème est connu avec Shell.Application. Lors de l'extraction d'archives ZIP contenant des fichiers XML (notamment des fichiers Office comme .docx, .xlsx ou .pptx), l'utilisation de CopyHere peut entraîner une corruption des fichiers, en particulier la duplication d'attributs ou d'éléments XML.

Pourquoi cela arrive-t-il ?

Shell.Application applique parfois une fusion implicite des fichiers, ce qui peut conduire à des anomalies sur des fichiers textuels comme le XML. Il semble que lorsque CopyHere extrait un fichier existant, il tente parfois de le fusionner avec la version en cours d'extraction au lieu de l'écraser, d'où la duplication des attributs.

sauf que quand je change l'extention a la main en zip sur ton fichier V2 avant extraction
1738488175580.png


la réponse est maintenant claire ce n'est peut être pas un problème de version excel mais windows ou les deux
autrement dit on est dans le M.... si on ne peut pas faire confiance au shell

 
Bon moi je vais refaire la manip avec mon Excel 2010 sous win7 pour voir si je vois où il y a un problème.
Bon c'est bien ce que je pensais c'est ton SaveCopyAs qui vérole le fichier :
Sous Win7 , j'ai téléchargé mon fichier V2 . Je l'ai ouvert avec Excel2010 . Si je n'exécute que ma macro qui fait un CopyFile et pas un SavecopyAs la macro fonctionne tout le temps. Dès que j'exécute ta macro, j'ai l'erreur de lecture du fichier xml ce qui prouve quelque chose à changer . Et si j'écris mon fichier V2 sous Excel 2010 , le fichier vml à l'intérieur n'est plus bon.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
153
Réponses
19
Affichages
473
Retour