affichage de petits dessins jpg

utilisateur_médiocre

XLDnaute Occasionnel
bonjour le forum

est-il possible de faire apparaître dans une cellule un petit dessin jpg choisi dans un répertoire en fonction de la valeur d'une autre cellule.

merci
 

Staple1600

XLDnaute Barbatruc
Re : affichage de petits dessins jpg

Bonsoir à tous



Alors de l'aide est requise, et comme je ne commente pas le match
(je laisse cela à Thierry G. de TF1)

je peux par contre commencer à commenter du code VBA

( Allez les petits !!!) ;)


OK ---> CTRL C+CTRL V

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range) 'd'après JBoisgontier sur XLD
Dim Image, MonImage As Object
[COLOR="SeaGreen"]'Verifie si la cellule active appartient à la plage A2B2[/COLOR]
  If Not Intersect(Target, Range("A2:B2")) Is Nothing Then
[COLOR="SeaGreen"]'Change de répertoire[/COLOR]
    ChDir ActiveWorkbook.Path
    If [A2] = "Calecon" And [B2] <> "Ne pas Voir" Then Image = "Calecon.jpg"
    If [A2] = "Ecole" And [B2] <> "Ne pas Voir" Then Image = "Ecole.jpg"
    If [A2] = "Muguet" And [B2] <> "Ne pas Voir" Then Image = "Muguet.gif"
    If [A2] = "XLD" And [B2] <> "Ne pas Voir" Then Image = "XLD.bmp"
    On Error Resume Next
[COLOR="SeaGreen"]'efface l'image nommée MonImage[/COLOR]
    ActiveSheet.Shapes("MonImage").Delete
    Range("D2").Select
[COLOR="SeaGreen"]'Insère et sélectionne l'image[/COLOR]
    MonImage = ActiveSheet.Pictures.Insert(Image).Select
'[COLOR="SeaGreen"]nomme l'image[/COLOR]
    Selection.Name = "MonImage"
    Target.Select
  End If
End Sub
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : affichage de petits dessins jpg

Re,
Salut Staple :),

Code:
Option Explicit ' T'oblige à déclarer tes variables : excellente habitude à prendre
Private Sub Worksheet_Change(ByVal Target As Range) 'd'après JBoisgontier sur XLD : Toujours cité la source...
'et à chaque changement sur la feuille appliction du code
Dim Image, MonImage As Object 'Déclaration des variables, ici Image et MonImage sont des Objets

  If Not Intersect(Target, Range("A2:B2")) Is Nothing Then 'S'il y a quelque chose en A2 et B2
    ChDir ActiveWorkbook.Path 'Donne le chemin,  ici pour les images donc dans le même répertoire
    If [A2] = "Calecon" And [B2] <> "Ne pas Voir" Then Image = "Calecon.jpg" 'si A2 égale "Calecon" et B2 différent de "Ne pas voir" alors afficher "Calecon.jpg"
    If [A2] = "Ecole" And [B2] <> "Ne pas Voir" Then Image = "Ecole.jpg"
    If [A2] = "Muguet" And [B2] <> "Ne pas Voir" Then Image = "Muguet.gif"
    If [A2] = "XLD" And [B2] <> "Ne pas Voir" Then Image = "XLD.bmp"
    On Error Resume Next 'si VBA trouve une erreur on passe à la ligne suivante
    ActiveSheet.Shapes("MonImage").Delete ' Effacement de l'image
    Range("D2").Select 'Se positionner sur D2
    MonImage = ActiveSheet.Pictures.Insert(Image).Select 'Détermination de l'image à insérer grâce à ligne If[xx]=...
    Selection.Name = "MonImage" 'Donne le nom "MonImage" à la sélection et permet l'insertion
    Target.Select 'Sélectionne la cellule D2 et place l'image
  End If 'Fin de la condition
End Sub 'Fin de la macro
Heureux de voir que je ne suis pas seul à vouloir aider utilisateur_médiocre (qui va croire qu'il à affaire à une bande de fous... fous d'XL s'entend...)

A+
 

JCGL

XLDnaute Barbatruc
Re : affichage de petits dessins jpg

Bonjour à tous,

Donne les informations demandées...

A savoir les conditions et l'image à insérer

Dans un fichier une colonne A avec la condition (e.g. 1 ou Toto ou >10...) et en C le nom de l'image à insérer (Image01.jpg)

Si tu peux joindre les images, c'est encore mieux.

A+
 

Discussions similaires

Réponses
12
Affichages
441

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16