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

Le
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
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ChrisV
Le #3531541
Bonjour hus,

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


ChrisV


"hus" 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


Modeste
Le #3531381
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

michdenis
Le #3531011
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" 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
JB
Le #3529851
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
Publicité
Poster une réponse
Anonyme