RechercheV avec image
Résolu
garfieldu38
Messages postés
11
Statut
Membre
-
garfieldu38 Messages postés 11 Statut Membre -
garfieldu38 Messages postés 11 Statut Membre -
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 !

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:
- RechercheV avec image
- Image iso - Guide
- Légender une image - Guide
- Reduire taille image - Guide
- Acronis true image - Télécharger - Sauvegarde
- Image gratuite - Guide
1 réponse
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
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
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