Apparition d'une image dans un tableau excel

tcia Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   -  
 SB -
bonjour,
dans un tableau excel, j'aimerais faire apparaitre une image lorsque le résultat d'une formule conditionnelle est "oui".
j'ai déjà fait la formule conditionnelle, mais comment faire pour l'image ????
je précise que c'est excel 2003.
merci de m'aider !!!

14 réponses

Résumé de la discussion

Le problème porte sur l'affichage d'une image lorsque le résultat d'une formule conditionnelle est « oui » dans Excel 2003, question fréquemment posée par les utilisateurs pour des rapports visuels. Une solution courante consiste à placer l'image dans le commentaire associé à la cellule: insérer le commentaire, ouvrir le format, puis utiliser l'onglet Image pour choisir la photo. Autres approches pertinentes incluent une macro VBA qui insère une image selon la valeur, ou l'utilisation d'un nom dynamique qui renvoie à une image dans une cellule et affiche ensuite l'icône correspondante. D'autres pistes évoquent des ressources externes et des solutions sans macro, par exemple l'utilisation de motifs et textures dans les commentaires ou des méthodes alternatives disponibles sur des sites spécialisés.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. speedyxmitch Messages postés 3 Statut Membre 26
     
    Bonjour

    Voici une bonne et simple méthode (à vous de juger) --> Mettre une photo dans le commentaire associé à la cellule.

    Pour cela :

    1 Insérer un commentaire
    2 Clic Droit sur les bordures
    3 Format de commentaire
    4 Couleur et traits
    5 Couleur de remplissage
    6 Onglet image
    7 Sélection de la photo !

    Voili, voilou
    Michel
    25
    1. HamsterAlbinos
       
      Un grand merci à Speedyxmitch, je suis tombé un peu par hasard sur cette astuce alors que je me creusais le cerveau pour trouver des macros ou autre truc pour afficher une image sans pourrir mon tableau.
      C'est facile, rapide et efficace. Nickel :D
      0
    2. manupl
       
      Merci, c'est génial....
      0
    3. Pascal
       
      Simple et efficace ! ! !
      0
    4. Nathanaël
       
      Bien joué! Merci beaucoup! Devant tant de compétences, vous pouvez aussi peut-être expliquer comment insérer une image depuis un bouton! Je tente, je lis les forums, en vain...
      0
    5. Jon
       
      Exellent ! je n'y avais pas pensé !! merci Michel !!
      0
  2. Utilisateur anonyme
     
    Dim objFeuille As Worksheet, objPict As Picture
    
    If worksheets("Feuil1").Range("A4").Value >= 10 then
    Set objFeuille = ActiveSheet
    Set objPict = objFeuille.Pictures.Insert("adresse_complete_de_l_image_desiree_1")
    With objPict
        .Left = Range("G2").Left
        .Top = Range("G2").Top
    End With
    Else
    Set objFeuille = ActiveSheet
    Set objPict = objFeuille.Pictures.Insert("adresse_complete_de_l_image_desiree_2")
    With objPict
        .Left = Range("G2").Left
        .Top = Range("G2").Top
    End With
    End if
    
    

    7
    1. tcia Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   62
       
      heu... merci....oui je veux bien....
      mais il faut m'expliquer où est ce que je le met ça !!!???
      0
    2. Utilisateur anonyme > tcia Messages postés 99 Date d'inscription   Statut Membre Dernière intervention  
       
      lol

      Dans la fenetre vba> Feuil1 :

      Private Sub Worksheet_Change(ByVal Target As Excel.Range)
      le code que je t'ai filé
      End sub()


      Enfin le code marche juste pour la cellule "A1", je ne sais pas si tu veux faire çà pour plusieurs cellules...

      Et là çà vérifira à chaque fois qu'il y a une modification de la feuille..
      0
    3. tcia Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   62 > Utilisateur anonyme
       
      bon je suis vraiment nulle
      ça marche pas..
      c'est pas grave je vais rester sur la solution que j'ai dit plus haut.
      merci quand même.
      0
    4. clorent > tcia Messages postés 99 Date d'inscription   Statut Membre Dernière intervention  
       
      Le code qui marche :

      Private Sub Worksheet_Change(ByVal Target As Excel.Range)

      Dim objFeuille As Worksheet, objPict As Picture

      If Worksheets("Feuil1").Range("A4").Value >= 10 Then
      Set objFeuille = ActiveSheet
      Set objPict = objFeuille.Pictures.Insert("C:\Temp\signature_lotus_fichiers\image001.gif")
      With objPict
      .Left = Range("G2").Left
      .Top = Range("G2").Top
      End With
      Else
      Set objFeuille = ActiveSheet
      Set objPict = objFeuille.Pictures.Insert("adresse_complete_de_l_image_desiree_2")
      With objPict
      .Left = Range("G2").Left
      .Top = Range("G2").Top
      End With
      End If
      End Sub

      --> modifer l'emplacement de l'image ...
      @+
      0
    5. Fabrice > clorent
       
      Salut Clorent,

      merci pour ton code, il marche très bien. en revanche en cas de modification des chiffres, il ne change pas l'image qui apparaît dans la cellule mais en rajoute une par dessus.
      comment faut il faire pour que l'image affichée soit changée en cas de changement sans avoir a effacer l'image précédente afin de ne pas se retrouver avec des images superposées dans la même case?
      merci encore pour ton aide

      fabrice
      0
  3. mimile
     
    Bonjour,

    effectivement sur Vériti, une solution sans macro, relativement simple à mettre en oeuvre (mais pas top expliquer...)

    le site Vériti déjà donné:
    http://vlohr.free.fr/Forum_VeriTi/forum_1.php?

    le fichier d'exemple à télécharger:
    http://www.veriti.net/download_plus.php?lng=fr&pg=385&usd=

    plus d'explic:
    vous voulez faire afficher un smiley triste si la valeur prise par la cellule B5 est <à 5 et un smiley happy si la valeur prise par la cellule B5 est >à 5
    il vous faut vos images de smileys, un triste, un gai que vous collez dans deux cellules par exemple, G5 et H5

    vous créer un nom dynamique (càd qui bouge en fonction de la valeur que prend une cellule):
    Insertion>Nom>Définir

    Nom: Condition
    Fait référence à: (vous rentrez votre formule) = si(B5<5;G5;H5)

    là où vous souhaitez voir apparaître votre icone qui change de tête selon la valeur, vous insérer une image.
    Important, il faut vraiment que ce soit une image, avec une zone de texte, ça ne marche pas.
    vous insérez n'importe quelle image aussi étonant que cela puisse paraitre au départ.
    par contre, il faut à tout prix que ce soit véritablement une image Insertion>Image
    vous prenez par exemple Sélectionnez à partir d'un fichier et vous chopez une des images mise d'office dans windows, par exemple une montagne...
    vous la réduisez à la taille souhaitée
    vous vous mettez sur le cadre (visualisation des points qui dessinent l'objet) et enfin, vous aller dans la barre de formule ou vous tapez =Condition

    a y est, si vous rentrez 6 dans la cellule B5, vous aurez un sourire...

    a+

    mimile
    4
  4. UsulArrakis Messages postés 7683 Statut Contributeur 3 196
     
    2
    1. tcia Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   62
       
      heu...
      j'y arrive pas....
      j'ai pas trop compris à ce que tu m'a donné....
      désolée...
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. tcia Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   62
     
    J'ai fait une formule de condition de cette forme:
    =si(A4>=10;"C";"D")
    et je parametre la police de la cellule du résultat sur wingdings.
    donc si la moyenne (cellule A4) est plus grande que 10 il y a un pouce levé qui apparait ou sinon il y a un pouce baissé.
    ce n'est pas tout à fait ce que je voulais, en fait c'était un clipart que je voulais faire apparaitre, mais ça a l'air trés compliqué. mes élèves se contenteront d'un pouce levé ou baissé !!!
    merci
    2
  7. speedyxmitch Messages postés 3 Statut Membre 26
     
    Bonjour doudou77 et mimile

    Effectivement, vous avez raison, il manquait "motifs et textures"

    1 Insérer un commentaire
    2 Clic Droit sur les bordures
    3 Format de commentaire
    4 Couleur et traits
    5 Couleur de remplissage
    6 Motifs et Textures
    7 Onglet image
    8 Sélection de la photo !

    Bon WE et sorry pour tout le monde.

    Michel
    2
  8. tcia Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   62
     
    Merci beaucoup...
    je pense que j'ai trouvé.
    1
    1. UsulArrakis Messages postés 7683 Statut Contributeur 3 196
       
      alors donne la réponse ici ou un lien pour que ça profite à tout le monde !
      0
  9. doudou77
     
    Bonjour,

    je ne trouve pas l'onglet image!!
    0
    1. UsulArrakis Messages postés 7683 Statut Contributeur 3 196
       
      salut
      de quoi tu parles ? quel onglet image ?
      0
  10. mimile
     
    Salut,

    doudou doit parler de la solution de speedymitch, message 13.
    d'après cette soluce, on pourrait afficher une image dans un commentaire et effectivement, speedymitch parle d'un "onglet image"...
    je ne trouve pas non plus cet onglet éventuel...
    je ne vois pas bien la solution non plus.

    bon courage

    mimile
    0
  11. speedyxmitch Messages postés 3 Statut Membre 26
     
    Il manquait "motifs et textures" :

    1 Insérer un commentaire
    2 Clic Droit sur les bordures
    3 Format de commentaire
    4 Couleur et traits
    5 Couleur de remplissage
    6 Motifs et Textures
    7 Onglet image
    8 Sélection de la photo !

    Sorry pour tout le monde.

    Michel
    0
  12. Enio
     
    Est ce que quelqu'un à réussi a faire varier les images en fonction du résultat d'une recherche V
    0
    1. UsulArrakis Messages postés 7683 Statut Contributeur 3 196
       
      le commentaire (ici l'image) est attaché à la cellule pas au contenu
      0
      1. Enio > UsulArrakis Messages postés 7683 Statut Contributeur
         
        d'ou l'utilisation de la fonction décaler en fait

        Mon problème était complexe, il ne s'agissait pas de faire apparaître 2 images différentes mais 5 et les fonctions SI c'est pénible

        Donc j'ai fait un tableau dans lequel je fait des rechercheV et la fonction trouve toute seule qu'il s'agit d'interval de recherche avec l'argument Valeur proche a VRAI

        Donc je lui fait me renvoyer un nombre compris entre 0 et 4 pour l'occasion qui j'incorpore dans une fonction décaler
        nommée Image_selection (menu insertion > nom > définir) et du coup ça marche


        Bref, plus d'explication a celui que le souhaite :p
        0
      2. Alex069 > Enio
         
        Salut Enio...

        Je fonctionne actuellement sous la version 2007 d'excel. En suivant ce topic, je reste sur ta fin =)
        Oui, je ne suis pas à l'aise avec toutes ces fontions de macros... alors je me suis arrêté sur tes dernières lignes. Je suis (du moins si j'ai bien compris) dans un cas similaire au tient. Oui, je travaille sur un doc pour ma boîte sur la gestion automatic de nos confections de Lots.

        Pour faire claire et simple, je prend une ref. de base: B1 et associés par 2 devient B2.
        En demandant donc B2 à Excel, il me sort à la fin TOUT le listing dont j'ai besoin EXCEPTE le "sticker" que j'aimerai voir apparaître également. Je ne sais donc pas comment jongler entre les rechercheV et les images!!! Je ne sais pas s'il existe via Excel une fonction qui jointerai la RechercheV avec une image, sans "SI POSSIBLE" utiliser de macros car ce langage là dépasse de loin mes compétences sur le domaine =(

        Merci en tout cas pour les lumières que tu (ou toute autre personne compétente) pourrais m'apporter!!!
        0
      3. yloryfred > Enio
         
        Fonction décaler et images, je suis trés interressé par la fin de ton explication, comment lier une référence de cellules à une image

        merci beaucoup pour ton aide
        0
  13. ludo
     
    Une solution sans VBA parmi d'autres :
    - Tu positionnes tes deux images exactement sur deux cellules côte à côte (sur Feuil2 en A1 et B1)
    - Puis, tu définis un nom (ex: MesImages) avec la formule decaler qui te renverra la coordonnée de
    la première image ou de la deuxième image, suivant le contenu de ta cellule de langue
    =DECALER(Feuil2!$A$1;0;Feuil1!$B$10;1;1)
    0
  14. mumu88
     
    Une autre solution:
    Passer en conception sur la feuille excel, insérer une image, puis une autre (Appelées ici Image1 et Image2).
    Faire Alt+F11 pour rentrer dans la programmation, et au niveau de la feuille (Worksheet Selection Change), saisir:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Worksheets("Feuil1").Range("B2").Value > 10 Then
    Image1.Visible = True
    Image2.Visible = False
    Else
    Image1.Visible = False
    Image2.Visible = True
    End If
    End Sub

    Si la cellule B2 est supérieure à 10, l'image1 s'affiche, sinon, c'est l'image2.
    -1