Pb VBA Changer l'image selon le résultat

Bonjour,

J'ai une personne qui m'a demander d'améliorer un classeur opérant différents calculs de tarot (n'étant pas un expert dans ce domaines je lui fait confiance pour les calculs) tous semble fonctionner a merveille, il ne reste plus qu'a affiché les résultat de ces calcul a travers le différentes cartes et c'est ici que ça coince j'ai crée un code en VBA le voici :

Private Sub Worksheet_Change(ByVal Target As Range)

Const chemin = "D:\Images\Tarot"

Dim monImage As String

If Target.Address = "J18" Then

Select Case Target.Value

Case Is = 1

monImage = "1.jpg"

Case Is = 2

monImage = "2.jpg"

Case Is = 3

monImage = "rabbit.png"

Case Is = 4

monImage = "4.jpg"

Case Is = 5

monImage = "5.jpg"

Case Is = 6

monImage = "6.jpg"

Case Is = 7

monImage = "7.jpg"

Case Is = 8

monImage = "8.jpg"

Case Is = 9

monImage = "9.jpg"

Case Is = 10

monImage = "10.jpg"

Case Is = 11

monImage = "11.jpg"

Case Is = 12

monImage = "12.jpg"

Case Is = 13

monImage = "13.jpg"

Case Is = 14

monImage = "14.jpg"

Case Is = 15

monImage = "15.jpg"

Case Is = 16

monImage = "16.jpg"

Case Is = 17

monImage = "17.jpg"

Case Is = 18

monImage = "18.jpg"

Case Is = 19

monImage = "19.jpg"

Case Is = 20

monImage = "20.jpg"

Case Is = 21

monImage = "21.jpg"

Case Is = 22

monImage = "22.gif"

Case Else

monImage = "23.jpg"

End Select

ActiveSheet.Shapes("image").Delete

ActiveSheet.Pictures.Insert( _

chemin & monImage).Name = "image"

Else

End If

End Sub

Le problème est le suivant les résultat s'affiche en appelant la formule CONCATENER je sais donc que les différents cas que j'ai remplit ne déclencheront pas les images et je ne sais pas non plus ce que je devrais mettre à leurs place .De plus, un autre problème ce pose car a la place de la formule que je rentre si je met une valeur la photo ne ce déclanche toujours pas non plus.

Merci

Bonjour

heavyrhyme a écrit :

les résultat s'affiche en appelant la formule CONCATENER

Il faudra changer l'évènement (voir par calculate)

heavyrhyme a écrit :

si je met une valeur la photo ne ce déclanche toujours pas non plus.

Il ne manquerait pas un "\" dans le chemin

A tester ( car moi je n'ai pas tester)

Private Sub Worksheet_Change(ByVal Target As Range)
Const chemin = "D:\Images\Tarot\"
Dim monImage As String

  If Target.Address = "J18" Then
    If Target > 0 And Target < 23 Then
      monImage = "Image" & Target & ".jpg"
    Else
      monImage = "Image23.jpg"
    End If
    ActiveSheet.Shapes("image").Delete
    ActiveSheet.Pictures.Insert(chemin & monImage).Name = "image"
  End If
End Sub

Ton fichier serait utile si cette solution ne convient pas

Bonjour,

Quand tu teste avec l'adresse de Target...

If Target.Address = "$J$18" Then

A+

Merci de toutes vos réponses rapides

Re,

Pas besoin de ton fichier, si tu rectifie l'adresse comme indiquer précédamment et que tu met un slash "\" au chemin ton code va fonctionner mais il serait plus simple d'employer celui de Banzai.

A+

Bonsoir

Bonsoir lermite

C'est vrai pas fait gaffe à cette adresse

Merci

Merci lermite,

J'ai bien réussi a résoudre le problème pour les chiffres qui déclenche la photo, j'ai remplacé avec les formules et les correction que vous m'avez tous deux soumis mais la photo de référence reste et ne s'actualise pas. je l'ai placé sur la cellule concerné et je l'ai aussi défini en tant que monImage. Je pense avoir respecter la procédure mais peut être que je me trompe.

Cordialement

Attend là...!! c'est une image ActiveX que tu a mis..

Alors le code est différent.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Chemin As String
Dim Img As String

Chemin = "D:\Images\Tarot\Image"
  If Target.Address = "$J$18" Then
    If Target > 0 And Target < 23 Then
      Img = Chemin & Target & ".jpg"
    Else
      Img = Chemin  & "23.jpg"
    End If
'Pas besoin de la ligne ci-dessous si toutes les images ont la même dimension..
    monImage.Picture = LoadPicture("")
    monImage.Picture = LoadPicture(Img)
  End If
End Sub
Rechercher des sujets similaires à "vba changer image resultat"