Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

inserer une image en fonction de la valeur du champ consulté

4 réponses
Avatar
hus
Bonjour à tous !

Je suis nouveau sur le forum et j'ai recherché sur les derniers posts ce
sujet mais je ne l'ai pas trouvé. Peut être qu'il a déjà été traité
simplement je le repose :

Je dispose de :

- Feuille Excel contenant des lignes de produits identifiées chacune par
un code
- Un répertoire contenant des images nommeés par leur code
produit<code_produit>.gif

Je souhaiterai créer une colonne qui afficherait automatiquement les
l'image associée à chaque ligne produit.

Exemple

Image Code Nom
<IMG> 10 Cafetière phillips

Affichage de l'image automatique dont le nom est 10.gif

Merci d'avance
Hus

4 réponses

Avatar
ChrisV
Bonjour hus,

http://www.excelabo.net/moteurs/compteclic.php?nom=av-listeimages


ChrisV


"hus" a écrit dans le message de news:
dn95ov$3bl$
Bonjour à tous !

Je suis nouveau sur le forum et j'ai recherché sur les derniers posts ce
sujet mais je ne l'ai pas trouvé. Peut être qu'il a déjà été traité
simplement je le repose :

Je dispose de :

- Feuille Excel contenant des lignes de produits identifiées chacune par
un code
- Un répertoire contenant des images nommeés par leur code
produit<code_produit>.gif

Je souhaiterai créer une colonne qui afficherait automatiquement les
l'image associée à chaque ligne produit.

Exemple

Image Code Nom
<IMG> 10 Cafetière phillips
Affichage de l'image automatique dont le nom est 10.gif

Merci d'avance
Hus


Avatar
Modeste
Bonsour® hus avec ferveur ;o))) vous nous disiez :

Je souhaiterai créer une colonne qui afficherait automatiquement les
l'image associée à chaque ligne produit.
exemple à adapter :


http://polykromy.com/html/decaler.html

--
;o)))
@+

Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI

n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr

Avatar
michdenis
Bonjour Hus,


Copie ceci dans le module feuille où l'action se déroule
Tu dois définir le répertoire RepImage où se trouve tes fichiers image.
La colonne où tu inscris tes codes a été définie dans cet exemple : B:B
Les images s'insèrent en colonne A:A à côté du code inscrit.

'------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range, RepImage As String
Dim Fichier As String, NomImage As String

'Définir le répertoire où sont les images
RepImage = "c:" 'À définir ici

On Error Resume Next
Set Rg = Intersect(Target, Range("B:B"))
If Not Rg Is Nothing Then
For Each C In Rg
Me.Shapes(C.Row & ".jpg").Delete
If C <> "" Then
If IsNumeric(C) Then
NomImage = C.Row & ".jpg"
Fichier = RepImage & C.Value & ".jpg"
If Dir(Fichier) <> "" Then
InsererImage Me.Name, C.Offset(, -1), _
Fichier, NomImage
Else
MsgBox "Ce fichier """ & Fichier & _
""" n'existe pas.", , "Attention"
End If
End If
End If
Next
End If
End Sub
'-----------------------------------------


Dans un module standard, copie ceci :
'-----------------------------------------
Sub InsererImage(feuille As String, ByVal Rg As Range, _
NomImage As String, SonNom As String)
Dim Largeur As Double
Dim Hauteur As Double
Dim Image As Object

With Worksheets(feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
'nom de l'image
.Name = SonNom
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image = largeur - 0.01
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'l'image doit se déplacer avec les cellules
.Placement = xlMoveAndSize
'note, possibilité xlmove et freefloating
'verrouillé ou pas par true ou false
.Locked = True
End With
Set Rg = Nothing

End Sub
'-----------------------------------------


Salutations!


"hus" a écrit dans le message de news: dn95ov$3bl$
Bonjour à tous !

Je suis nouveau sur le forum et j'ai recherché sur les derniers posts ce
sujet mais je ne l'ai pas trouvé. Peut être qu'il a déjà été traité
simplement je le repose :

Je dispose de :

- Feuille Excel contenant des lignes de produits identifiées chacune par
un code
- Un répertoire contenant des images nommeés par leur code
produit<code_produit>.gif

Je souhaiterai créer une colonne qui afficherait automatiquement les
l'image associée à chaque ligne produit.

Exemple

Image Code Nom
<IMG> 10 Cafetière phillips

Affichage de l'image automatique dont le nom est 10.gif

Merci d'avance
Hus
Avatar
JB
Bonjour,

-les images sont dans le répertoire de l'application.
-La colonne A contient les noms des images

Sub ImportImages2()
ChDir ActiveWorkbook.Path
nf = Dir("*.jpg") ' premier fichier
Range("b2").Select
Do While ActiveCell.Offset(0, -1) <> ""
nf = ActiveCell.Offset(0, -1) & ".jpg"
Set monimage = ActiveSheet.Pictures.Insert(nf)
ActiveCell.EntireRow.RowHeight = monimage.Height + 0
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Autres exemples:

http://www.excelabo.net/compteclic.php?nom=jb-photos

Cordialement JB