RechercheV avec image

Résolu/Fermé
garfieldu38 Messages postés 11 Date d'inscription mardi 22 janvier 2019 Statut Membre Dernière intervention 7 février 2019 - 6 févr. 2019 à 15:01
garfieldu38 Messages postés 11 Date d'inscription mardi 22 janvier 2019 Statut Membre Dernière intervention 7 février 2019 - 7 févr. 2019 à 13:10
Bonjour à tous,

Impossible de trouver une solution malgré les forums et Youtube...

Le problème est tout simple, j'ai
- un fichier avec des références sans l'image (à gauche sur la capture d'écran)
- un fichier avec les mêmes références dans un ordre différent, avec les images à côté (à droite)
--> je cherche donc à avoir l'image correspondante sur mon fichier de gauche

J'ai essayé de combiner (sans succès)
- renommer les cellules depuis : formules > définir un nom depuis une sélection
- la fonction indirect
- recherche V classique
+ Je ne souhaite pas passer pas une liste déroulante (car pas adapté à mon problème

Quand je copie colle la cellule avec la photo (non la photo elle même), j'obtiens bien l'image car elle est "liée" à la cellule : mais impossible de faire une recherchev (ou index/equiv) sur la cellule...

merci d'avance pour votre aide !

A voir également:

1 réponse

rEVOLV3r Messages postés 223 Date d'inscription jeudi 12 août 2010 Statut Membre Dernière intervention 21 septembre 2022 28
7 févr. 2019 à 12:14
Bonjour,

La meilleure façon est la suivante : Créer un dossier avec les images nommées selon leur numéro de référence puis appeler une macro qui vient ajouter l'image du dossier correspondant au nom dans la cellule de votre fichier excel.

Macro à modifier :

Public Sub Insertion_image(ByVal ws_name As String, ByVal val As Double, ByVal r As Integer, ByVal c As Integer)
Dim file As Variant
Dim myPict As Picture
path = ActiveWorkbook.path & "\01 - Bibliothèque Images"
file = Dir(path & "\")
Do While (file <> "")
If InStr(file, val) > 0 Then
With ThisWorkbook.Sheets(ws_name).Cells(r, c)
Set myPict = .Parent.Pictures.Insert(path & "\" & file)
myPict.ShapeRange.LockAspectRatio = msoFalse
myPict.Top = .Top
myPict.Width = .Width
myPict.Height = .Height
myPict.Left = .Left
myPict.Placement = xlMove
myPict.Locked = msoFalse
End With
Exit Sub
End If
file = Dir
Loop
End Sub
1
garfieldu38 Messages postés 11 Date d'inscription mardi 22 janvier 2019 Statut Membre Dernière intervention 7 février 2019
7 févr. 2019 à 13:10
Merci bien ! C'est également ce que j'ai trouvé sur un forum, que j'ai à peine modifié (je suis nul en VBA)

Sub LinkToImagebis()
For Each cel In Selection
cel.Offset(1, 0).Select
cel.Offset(1, 0).RowHeight = 30
cel.Offset(1, 0).ColumnWidth = 10

Set image = ActiveSheet.Pictures.Insert(cel.Value)

With image
.ShapeRange.LockAspectRatio = msoTrue
.Width = cel.Offset(0, 0).Width
.Height = cel.Offset(0, 0).Height
.Left = cel.Offset(0, 0).Left
.Top = cel.Offset(0, 0).Top
End With

Next cel

End Sub
0