Afficher image selon résultat d'une cellule

Résolu
david44 Messages postés 4 Statut Membre -  
david44 Messages postés 4 Statut Membre -
Bonjour,
voilà je ne sais pas si on pourra m'aider après plusieurs tests je m'en remet à vous..
J'aimerais effectuer l'affichage d'une image dans une feuille Excel selon le résultat d'une cellule (contenant une formule de calcul de %)
Aussi voilà le problème G une cellule "K6" qui calcule le % de 2 autres cellules (placées au dessus)
Selon le résultat obtenu, je désire afficher une image :
orage -> lorsque le résultat est < à 50 %
nuageux -> lorsque le résultat est < à 70 % et >=50 %
couvert -> lorsque le résultat est < à 90 % et >=70 %
soleil -> lorsque le résultat est >= à 90 %

Voilà mon code mais lorsque je tente de mettre de nouvelles conditions pour prendre en compte les autres tranches de test --> il m'affiche toujours le soleil. J'ai bien essayé avec EvenIf ou encore mettre plusieurs conditons If imbriquées mais rien à faire
Aussi voilà le code qui marche mais avec seulement une condition :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Dim objFeuille As Worksheet, objPict As Picture

If Worksheets("Feuil2").Range("K6").Value > 90 Then
Set objFeuille = ActiveSheet
Set objPict = objFeuille.Pictures.Insert("C:\Documents and Settings\xxxx\Bureau\soleil.bmp")
With objPict
.Left = Range("G2").Left
.Top = Range("G2").Top
End With
Else
Set objFeuille = ActiveSheet
Set objPict = objFeuille.Pictures.Insert("C:\Documents and Settings\xxxx\Bureau\orage.bmp")
With objPict
.Left = Range("G2").Left
.Top = Range("G2").Top
End With
End If
End Sub

Si quelqu'un peut m'aider je ne le remercierais jamais assez !!
Configuration: Windows XP
Firefox 3.0
Excel 2003

4 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     

    Erreur, désolé
    0
  2. david44 Messages postés 4 Statut Membre
     
    Pour Info avec l'aide d'un gars super doué Nommé Maximin vlà un code que marche au poil :

    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("Feuil2").Range("K6").Value < 0.5 Then
    fichier = "C:\Documents and Settings\xxxx\Bureau\orage.bmp"
    positionX = "L10"
    positionY = "L10"
    ElseIf Worksheets("Feuil2").Range("K6").Value >= 0.5 And Worksheets("Feuil2").Range("K6").Value < 0.7 Then
    fichier = "C:\Documents and Settings\xxxx\Bureau\nuageux.bmp"
    positionX = "L10"
    positionY = "L10"
    ElseIf Worksheets("Feuil2").Range("K6").Value >= 0.7 And Worksheets("Feuil2").Range("K6").Value < 0.9 Then
    fichier = "C:\Documents and Settings\xxxxx\Bureau\couvert.bmp"
    positionX = "L10"
    positionY = "L10"
    ElseIf Worksheets("Feuil2").Range("K6").Value >= 0.9 Then
    fichier = "C:\Documents and Settings\xxxxx\Bureau\soleil.bmp"
    positionX = "L10"
    positionY = "L10"
    End If

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

    End Sub
    0
  3. david44 Messages postés 4 Statut Membre
     
    cf message précédent désolé J'ai oublié de cocher problème résolu !!

    @+
    0
  4. david44 Messages postés 4 Statut Membre
     
    cf message précédent désolé J'ai oublié de cocher problème résolu !!
    arf encore
    @+
    0