Macro avec insertion images de différents emplacements
Bonjour,
Je suis débutante sur VBA, et je bloque sur un macro.
CONTEXTE:
J'ai un tableau Excel avec une liste de références, les ventes de chaque référence sur une période donnée, et un lien vers l'emplacement de la photo sous un répertoire Windows (fait actuellement avec un CONCA emplacement&référence&.jpg.
L'emplacement est fixe, cependant aujourd'hui je voudrais le dynamiser car je dois chercher les images parmi plusieurs emplacements.
Je souhaite donc avoir le déclenchement suivant:
A partir d'une liste de répertoires dans lesquels je dois rechercher les photos, chercher la référence photos dans le 1er lien.
- > Si résultat, intégrer la photo.
- > Si non; chercher dans le 2nd lien... et ainsi de suite jusqu'à trouver la photo.
Ma macro actuelle est la suivante (voir ci-dessous, et ci-joint l'Excel).
J'ai fait plusieurs tests afin d'intégrer cette notion de liens, sans succès. Pourriez-vous m'éclairer?
Merci d'avance!
Sub AffImage()
' Affiche les images à l'emplacement demandé
Dim r As Long, h As Long, lmax As Long
Dim c As Range, numfich As Integer
For Each c In Selection
h = 75
fich = c.Value
' test fichier
If fich <> "" Then
numfich = FreeFile()
On Error GoTo errfich
Open fich For Input As #numfich
Close #numfich
On Error GoTo 0
End If
If fich <> "" Then
c.RowHeight = h 'fixer la hauteur de ligne
ActiveSheet.Pictures.Insert(fich).Select 'ouverture image
With Selection.ShapeRange
.LockAspectRatio = msoTrue 'conserver les proportions
.Height = h - 4 'hauteur de l'image = hauteur des lignes - 4
.Left = c.Offset(0, r).Left + 2 'fixe la gauche des img : à droite de la cellule qui contient le lien + ajoute un blanc à gauche de l'image
.Top = c.Top + 2 'fixe le haut des img : aligné sur le haut de la cellule qui contient le lien + ajoute un blanc en haut de l'image
End With
End If
Next c
Exit Sub
errfich:
fich = imgDefaut
Resume Next
End Sub
-
Ce lien est au