Menu

RechercheV avec image [Résolu]

Messages postés
11
Date d'inscription
mardi 22 janvier 2019
Dernière intervention
7 février 2019
- - Dernière réponse : garfieldu38
Messages postés
11
Date d'inscription
mardi 22 janvier 2019
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 !

Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
213
Date d'inscription
jeudi 12 août 2010
Dernière intervention
7 février 2019
31
1
Merci
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

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 57878 internautes nous ont dit merci ce mois-ci

garfieldu38
Messages postés
11
Date d'inscription
mardi 22 janvier 2019
Dernière intervention
7 février 2019
-
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
Commenter la réponse de rEVOLV3r