Images / Liens photos

Bonjour à tous,

J'ai crée un fichier en VBA permettant d'insérer des photos dans un fichier Excel via un lien.

Dans la colonne B se trouvent les liens des photos à insérer

Dans la colonne A les photos correspondant aux liens de la colonne B

Les photos se trouvent sur un disque réseau

Les liens sont corrects (les photos apparaissent au bon endroit)

Lorsque la macro est terminée (quand toutes les photos sont insérées), une copie du fichier (en .xlsx) est créée dans un répertoire.

Jusqu'à présent pas de problèmes. Néanmoins, de façon très aléatoire, lorsque j'ouvre (ou un autre utilisateur) le fichier avec pour contenu des liens et photos, Excel n'arrive pas à ouvrir le fichier et Windows ne répond plus (obligé de redémarré la machine avec le bouton). Parfois, le fichier s'ouvre correctement.

Précisions :

  • Le disque réseau est toujours le même et connecté 24/24
  • Les chemins d'accès aux photos sont statiques
  • Le problème est le même sur Excel 2010, Windows 7 ou 10, et sur différentes machines
  • Le fichier ne pèse pas plus de 500 ko
  • Même problème en .xlsx et .xlsm
  • Ci joint un screen du fichier .xlsx comportant les fichiers
  • Les administrateurs ont désinstallé complètement Excel 2010 pour éviter les conflits
  • Plusieurs réparations / réinstallations de Excel 2016 ont été faites

Je vous remercie par avance pour votre aide

Clément

Clément

Bonjour Clément,

Pour stocker les photos dans le classeur (attention au poids des photos!) tu dois passer par la méthode "shape.addPicture".

Lien qui donne des détail sur la méthode : https://msdn.microsoft.com/fr-fr/vba/excel-vba/articles/shapes-addpicture-method-excel

Bonjour Gérard,

Merci pour ta réponse rapide.

Les photos sont insérées dans mon fichier .xlsm, puis une fois ces photos insérées, je fais une copie dans un fichier .xlsx

Lorsque j'ouvre mon fichier .xlsx, 1 fois sur 2 il va s'ouvrir correctement, avec les photos, ou bien faire planter la machine.

D'après ce que je comprends, la problème viendrait d'une mauvaise insertion de la photo depuis le VBA ?

Merci

Clément

Oui, Clément, c'est bien ce qui je crois.

Peux-tu joindre le VBA?

Ci joint un screen du VBA pour insérer des images

Merci

Clément

capture

Clément,

Je te propose de remplacer :

ActiveSheet.Pictures.Insert(fich).Select
...

par

    
ActiveSheet.Shapes.AddPicture Filename:=Fich, linktofile:=msoFalse, _
    savewithdocument:=msoCTrue, Left:=c.Offset(0, r).Left + 20, Top:=c.Top + 2, Width:=c.Width, Height:=h - 4

Bonjour Gérard,

J'ai testé ce jour ton code, il fonctionne à merveille et je n'ai plus de problèmes d'ouverture de fichier.

Un grand merci à toi pour ta rapidité et ton efficacité

Bonne continuation

Clément

Rechercher des sujets similaires à "images liens photos"