Insertion image / valeur cellule

Fermé
frzk - 25 janv. 2010 à 15:04
 frzk - 26 janv. 2010 à 08:21
Bonjour,
je souhaite inserer une image en fonction de la valeur d'une cellule
g taper le code suivant mais g un problème sur la partie concernant le positionnement de l'image
Merci d'avance
code :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)

' déclaration des variables
Dim objFeuille As Worksheet, objPict As Picture
Dim fichier As String
Dim positionX As String
Dim positionY As String

' définition des objets
Set objFeuille = ActiveSheet

' définition de la position et de l'image en fonction de la valeur
If Worksheets("Feuil1").Range("C10").Value = "Corrosif" Then
fichier = "G:\Produits chimiques\ERC 2009\pictogramme\2_corrosifSGH.jpg"
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "Irritant" Then
fichier = "G:\Produits chimiques\ERC 2009\pictogramme\2_exclamen170.jpg"
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "Nocif" Then
fichier = "G:\Produits chimiques\ERC 2009\pictogramme\2_exclamen170.jpg"
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "Explosif" Then
fichier = "G:\Produits chimiques\ERC 2009\pictogramme\2_explosen170.jpg"
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "Inflammable" Then
fichier = "G:\Produits chimiques\ERC 2009\pictogramme\2_flammeen170.jpg"
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "Toxique" Then
fichier = "G:\Produits chimiques\ERC 2009\pictogramme\2_skullen170.jpg"
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "Comburant" Then
fichier = "G:\Produits chimiques\ERC 2009\pictogramme\2_rondflamen170.jpg"
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "Dangereux pour l' environnement" Then
fichier = "G:\Produits chimiques\ERC 2009\pictogramme\2_polluten170.jpg"
positionX = "D10"
positionY = "D10"

' positionnement de l'objet
Set objPict = objFeuille.Pictures.Insert(fichier)
With objPict
.Left = Range(positionX).Left
.Top = Range(positionY).Top
End With

End If

End Sub
A voir également:

2 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 247
26 janv. 2010 à 07:30
Bonjour,

répondu trop vite, désolé...
0
toujours un problème sur le code :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)

' déclaration des variables
Dim objFeuille As Worksheet, objPict As Picture
Dim fichier As String
Dim positionX As String
Dim positionY As String

' définition des objets
Set objFeuille = ActiveSheet

' définition de la position et de l'image en fonction de la valeur
If Worksheets("Feuil1").Range("C10").Value = "C - Corrosif" Then
fichier = "G:\Produits chimiques\ERC 2009\pictogramme\1_CCorossif.jpg"
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "E - Explosif " Then
fichier = " G:\Produits chimiques\ERC 2009\pictogramme\1_EExplosif.jpg "
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "Xi - Irritant" Then
fichier = " G:\Produits chimiques\ERC 2009\pictogramme\1_XiIrritant.jpg "
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "Xn - Nocif" Then
fichier = " G:\Produits chimiques\ERC 2009\pictogramme\1_XnNocif.jpg "
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "T - Toxique" Then
fichier = " G:\Produits chimiques\ERC 2009\pictogramme\1_TToxique.jpg "
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "F - Inflammable" Then
fichier = "G:\Produitschimiques\ERC2009\pictogramme\1_FFacInflammable.jpg"
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "O - Comburant" Then
fichier = " G:\Produits chimiques\ERC 2009\pictogramme\1_OComburant.jpg "
positionX = "D10"
positionY = "D10"
ElseIf Worksheets("Feuil1").Range("C10").Value = "N - Dangereux pour l'environnement" Then
fichier = "G:\Produitschimiques\ERC2009\pictogramme\1_NEnvironnement.jpg "
positionX = "D10"
positionY = "D10"

End If

' positionnement de l'objet
Set objPict = objFeuille.Pictures.Insert(fichier)With objPict
.Left = Range(Range(positionX)).Left
.Top = Range(Range(positionY)).Top
End With

La partie en gras est ce qui "s'allume" , donc ce ui pose problème. g vérifié l'emplacement des image (c ok)

Merci d'avance pour le coup de main
0