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 !!!
A voir également:
Excel afficher image en fonction valeur cellule
Excel insérer image selon valeur cellule - Meilleures réponses
Excel afficher image selon valeur cellule - Meilleures réponses
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 !
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
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...
bonjour, ok cela marche pour mettre l'image dans la cellule, mais je ne vois pas en quoi cela résoud l'affichage ou pas de l'image en fonction d'une condition, puis avoir un complément d'info? merci.
bonjour, pour ma part, dans l mm ordre d'idée, j'aimerai savoir comment on peut insérer automatiquement plusieurs images différentes dans différentes cellules, enutilisant une formule
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
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
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
Mais dans ce cas, ça efface toutes les images.
Est-ce que ce serait possible d'insérer plusieurs images avec ce code?
Et si oui comment? Lorsque j'essaie, il n'affiche que la dernière image de toutes les formules que j'y entre
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
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...
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
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 !
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.
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 !
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
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!!!
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)
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.