XL 2016 Recherchev image en fonction code EAN

davidp

XLDnaute Occasionnel
Bonjour à tous ,

désolé de vous déranger pour m'aide sur un projet .
Je dispose d'un fichier EXCEL avec 1000 codes EAN 13 dans une colonne + un dossier avec 1000 images avec comme nom le code EAN correspondant à l'image .
Je souhaite faire apparaitre dans la cellule à droite du code EAN l'image correspondante.
Je ne sais pas si cela est réalisable , merci d'avance à ceux qui m'aideront.

ps : Je n'arrive à joindre les 2 images qui sont aux formats TIF

Bonne journée à tous

DAVIDP
 

Pièces jointes

  • RECHERCHEV IMAGE.xlsx
    18.5 KB · Affichages: 40

davidp

XLDnaute Occasionnel
Bonjour Chris ,

merci pour ton aide , mais cela me semble compliqué .
Je vais essayer ce soir de comprendre .
Dans l’idéal , je souhaite coller les 1000 codes EAN dans la colonne et que les photos apparaître à droite du code.
Faut-il créer un dossier avec à l'intérieur le fichier excel + toutes les photos ?

Merci d'avance

DAVIDP
 

chris

XLDnaute Barbatruc
Re

J'avais lu un peu vite.

Je pensais à l’apparition d'une image à la fois.

Je crains qu'avec 1000 images ton fichier soit très lourd et peu ou pas exploitable...
Quels sont la taille, en pixels ou mm de tes images, et la taille des fichiers en Ko ?

On peut soit insérer une image soit la lier seulement.

Dans le second cas le fichier est moins lourd mais pour afficher les images liées Excel risque d'avoir à accéder régulièrement au Disque ce qui gène également avec ce nombre d'images.

Quel est la finalité de ton classeur ?
On ne regarde pas 1000 images à la fois, donc une solution permettant de visualiser quelques codes sélectionnés au préalable ma paraitrait un bon compromis...
 

davidp

XLDnaute Occasionnel
Bonjour Chris ,

Merci pour ton aide ,
pour répondre à ta question , les images sont legeres 200 KB uniquement (minature)

Objectif : Créer un catalogue BOOK de 1000 produits différents avec une colonne EAN et à coté mettre la photo correspondante .

merci d'avance

DAVIDP
 

chris

XLDnaute Barbatruc
RE

Sauf erreur de ma part cela fait 200 Mo

Si le catalogue n'a pas d'utilité à part la consultation et/ou l'édition, pourquoi ne pas plutôt utiliser Word ?

Excel travaille en mémoire vive ce qui pose des problèmes pour les gros fichiers.

On peut aussi charger un catalogue en VBA et même probablement combiner le mode publipostage et une liste de codes Excel pour récupérer les images.
 

davidp

XLDnaute Occasionnel
RE,

je dois utiliser Excel car j'ai une macro qui transforme le code EAN 13 en code scanable ,
je souhaite faire apparaître les images une fois afin ensuite d' imprimer des books .

Sinon , je serai obligé pour chaque article de faire insertion image 1000 fois .

PS : Si le nombre de lignes est trop important , je pourrais faire 2 fichiers de 500 (ou moins si nécessaire)

Merci d'avance du temps passé

DAVIDP
 

chris

XLDnaute Barbatruc
Re

A adapter

Code:
Sub PlaceImages()
'
Dim myRange As Range, cellule As Range, chemin As String, extension As String

chemin = "J:\IMAGES\"
extension = ".tif"

    With ActiveWorkbook.Worksheets("Book")

        Set myRange = .Range("A2:A" & .Cells(Rows.Count, 1).End(xlUp).Row).Offset(0, 1)
        For Each cellule In myRange
            Set monImage = .Pictures.Insert(chemin & cellule.Offset(0, -1).Text & extension)
            monImage.Left = cellule.Left + 1
            monImage.Top = cellule.Top + 1
        Next
    End With

End Sub

Veiller au préalable à dimensionner les lignes pour une hauteur suffisante
 

chris

XLDnaute Barbatruc
RE
  • Dans chemin ne pas oublier le \ final
  • Ta plage part de E5 pas de A2 donc adapter
    Set myRange = .Range("E5:E" & .Cells(Rows.Count, 5).End(xlUp).Row).Offset(0, 1)
  • Le VBA est sensible à la casse donc BOOK et non Book dans ton cas
Tu peux coller le VBA là ou dans un module standard et lui associer un bouton pour le lancer...
 

davidp

XLDnaute Occasionnel
Bonsoir Chris

Désolé de te déranger à nouveau , mais cela ne fonctionne pas chez moi (windows 10) .
J'ai rajouté un bouton pour lancer la macro
J'ai un message d'erreur " 400"
Pouvez-vous regarder le fichier en annexe ?

Merci d'avance pour votre aide

bonne soirée

upload_2017-11-30_19-35-30.png


Bonne soirée

DAVIDP
 

Pièces jointes

  • RECHERCHEV IMAGE V4.xlsm
    25.2 KB · Affichages: 35

davidp

XLDnaute Occasionnel
Re ,
Super , cela fonctionne par contre :

  1. j'ai le message d'erreur " 400" , je clique sur OK , puis la 1er image s'affiche super
  2. Par contre si le code Ean en dessous n'est pas trouvé (Ex: En E6), cela ne fonctionne plus malgré que le code EAN en E7 est correct .
Merci d'avance

Bonne soirée

DAVIDP
 

Pièces jointes

  • RECHERCHEV IMAGE V5.xlsm
    24.9 KB · Affichages: 55

chris

XLDnaute Barbatruc
Re

Non reconnu : tu veux dire qu'il n'y a pas l'image correspondante ?

Si tu as ce type de cas il faut intégrer une gestion d'erreur : tester si le fichier est présent avant de chercher à récupérer l'image
Code:
Sub PlaceImages()

Dim myRange As Range, cellule As Range, chemin As String, extension As String

chemin = "C:\Users\8248425\Desktop\forum image\"
extension = ".tif"

    With ActiveWorkbook.Worksheets("BOOK")

        Set myRange = .Range("E5:E" & .Cells(Rows.Count, 5).End(xlUp).Row).Offset(0, 1)
        For Each cellule In myRange
            If Dir(chemin & cellule.Offset(0, -1).Text & extension) <> "" Then
                Set monImage = .Pictures.Insert(chemin & cellule.Offset(0, -1).Text & extension)
                monImage.Left = cellule.Left + 1
                monImage.Top = cellule.Top + 1
            End If
        Next
    End With

End Sub
 

Discussions similaires

Réponses
1
Affichages
333
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 469
Messages
2 088 696
Membres
103 922
dernier inscrit
hhhh