Faire apparaitre et disparaitre une image en fonction du résultat d'une cellule.

forzascuderia

XLDnaute Nouveau
Bonjour @ toutes et @ tous,

Je viens vous embeter un peu car j'ai un petit soucis sur Excel.
En effet, j'aimerais faire apparaitre ou disparaitre un objet (dans mon cas, ce sont des formes automatiques) en fonction du résultat d'une cellule si c'est possible. Est-ce possible uniquement en Excel ou dois-je le faire en VBA ?

Remarque : je ne peux pas modifier mes lignes et colonnes (ce fichier est un fichier test mais sur mon fichier réel le graphique est au milieu de beaucoup d'autres paramètres) et je travaille avec Excel 2007.

PS : je suis nul en VBA, jamais utilisé :D, donc si la solution est obligatoirement en VBA, pourrais-je avoir quelques explications ?

En vous remerciant d'avance pour vos réponses,

Cordialement

Michael
 

Pièces jointes

  • Test 1.xls
    21 KB · Affichages: 311
  • Test 1.xls
    21 KB · Affichages: 325
  • Test 1.xls
    21 KB · Affichages: 324

Hulk

XLDnaute Barbatruc
Re : Faire apparaitre et disparaitre une image en fonction du résultat d'une cellule.

Hello,

Dur dur pour la Scuderia cette année :D

Bref, vois ce fichier s'il te convient.

C'est basiquement fait par macro, car tu peux faire ça avec des formules, mais pour la couleur de la forme, pas sûr... à moins qu'il y aille au fait deux formes. (Sauf erreur de ma part)

Donc avec macro... Regardes la macro en cliquant sur l'onglet de la feuille et "Visualiser le code..."

Cdt, Hulk.
 

Pièces jointes

  • Test 1.xls
    40 KB · Affichages: 932
  • Test 1.xls
    40 KB · Affichages: 945
  • Test 1.xls
    40 KB · Affichages: 928
Dernière édition:

forzascuderia

XLDnaute Nouveau
Re : Faire apparaitre et disparaitre une image en fonction du résultat d'une cellule.

Bonjour Hulk,

Et oui comme tu dis, dur dur pour la Scuderia cette année.
Etant un inconditionnel de cette équipe depuis ma plus tendre enfance, c'est un peu dur à vivre mais c'est la compétition, c'est comme ça.
Vivement l'année prochaine (s'ils sont la, lol).

En tout cas, le fichier excel me convient impeccable. Je vais essayer de comprendre un peu le code mais en tout cas tes explications sont parfaites. Je te remercie, c'est nikel.

J'aurais certainement besoin de votre aide sur d'autres trucs plus tard, mais je vais me contenter de ca pour le moment. Chaque chose en son temps.

Merci encore.

@ bientot

Michael
 

forzascuderia

XLDnaute Nouveau
Re : Faire apparaitre et disparaitre une image en fonction du résultat d'une cellule.

Re bonjour,

En fait, j'ai un petit soucis une fois de plus car lorsque je teste mon fichier test tout seul, aucun problème. Par contre, lorsque je reproduis ma macro dans le fichier excel qui m'intéresse c'est la que ca coince.
Je pense que c'est du au fait que le résultat dans ma cellule A2 n'est pas à mettre directement mais c'est le résultat qui est présent sur un autre classeur excel. Je m'explique.

Je remplis un classeur excel et donc une certaine cellule avec la valeur oui, non ou peut-etre et je récupère le résultat de cette cellule dans mon fichier test. Et lorsque je fais ca, ma macro ne fonctionne pas, le dessin ne fait pas ce qu'il devrait. Est-ce un problème de mise à jour entre les classeurs et comment résoudre ce problème ?

Merci d'avance pour votre réponse,

Cordialement

Michael
 

forzascuderia

XLDnaute Nouveau
Re : Faire apparaitre et disparaitre une image en fonction du résultat d'une cellule.

Merci Boisgontier pour tes liens mais ca ne correspond pas tout à fait à ma situation.

Je suis toujours bloqué au meme point :
Lorsque je rentre moi même la valeur oui ou non dans la cellule A2 c'est ok, par contre lorsque la valeur de cette cellule est égale à la valeur d'une cellule d'un autre classeur, ca coince ...
Aie aie aie, lol

Si quelqu'un à une petite idée de solution, n'hésitez pas à me le dire, je suis tout ouïe.:D
 

JeanMarie

XLDnaute Barbatruc
Re : Faire apparaitre et disparaitre une image en fonction du résultat d'une cellule.

Bonjour tout le monde

Michael, la situation de blocage est de ta faute, dans l'exposé de ton problème de départ, ni dans le fichier d'exemple, tu ne parles d'un résultat calculé en cellule A2, au contraire tu as mis en place une liste de validation, qui forcément induit en erreur tous les intervenants.

Les codes proposés utilise l'événement change, ce qui est normal au vue de ton exemple. Nous ne le répéterons jamais assez, des exemples clairs, donnant le maximum d'informations, l'emplacement des données, les formules, sont des éléments importants pour résoudre vos problèmes.

Si tu veux garder la gestion VBA avec l'événement Change, il faut prendre en compte les cellules conditionnant le calcul de ta formule, et non le résultat. Il existe bien l'événement Calculate, mais je te déconseille de l'utiliser.

Je te propose une autre idée d'utilisation en formule cette fois. Dans le fichier joint, j'ai mis une formule en A2, qui change à chaque fois qu'une cellule a été modifiée en saisie, il n'y a pas de code VBA.
En fonction de la donnée calculée, l'objet "image 21" de la feuille "Feuil1" prendra le contenu de la cellule de la colonne B dans le tableau en Feuil2.

En sélectionnant cet Objet, tu verras dans la barre formule, qu'il y a une formule
=Image.
Image est un nom déclaré dans la boîte de dialogue Insertion/Nom/Définir...
Va y faire un tour, le secret se trouve dans cette boîte de dialogue.

Attention, il y aura toujours une image affichée, elle n'est pas véritablement masquée.

@+Jean-Marie
 

Pièces jointes

  • Image decaler().zip
    13.1 KB · Affichages: 500

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Faire apparaitre et disparaitre une image en fonction du résultat d'une cellule.

Bonjour,


>Les codes proposés utilise l'événement change,

Faux

La fonction perso teste une cellule (B6) qui cacule une somme (B2:B5).
Dès qu'une cellule est modifiée, la fonction est exécutée.

Code:
Function AfficheCache(nb, seuil, image)
 If nb > seuil Then
   ActiveSheet.Shapes(image).Visible = True
 Else
   ActiveSheet.Shapes(image).Visible = False
 End If
 afffichecache = 0
End Function

=affichecache(B6;100;"gidel")

JB
 
Dernière édition:

forzascuderia

XLDnaute Nouveau
Re : Faire apparaitre et disparaitre une image en fonction du résultat d'une cellule.

Bonjour aux nouveaux arrivants sur mon topic.

Tout d'abord, je tiens à présenter mes excuses pour l'ajout d'un nouveau problème dans mon problème de départ.
J'aurais du exposer clairement celui-ci dès le départ.
Je ne cherche pas à me justifier mais j'ai voulu ne pas en dire de trop au départ pour ne pas surcharger la chose.
J'ai eu tort et je m'en excuse. Je vais tester ta méthode Jean-Marie et je te tiens au courant par la suite.

En tout cas, merci pour vos réponses.

Cordialement,

Michael
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Faire apparaitre et disparaitre une image en fonction du résultat d'une cellule.

Voir PJ

La cellule A2 contient une FORMULE.
On modifie directement la couleur de l'image sans images intermédiaires.

Code:
Function AfficheCache(c, image)
 Application.Volatile
 If c = "oui" Then
   ActiveSheet.Shapes(image).Visible = True
   ActiveSheet.Shapes(image).Line.ForeColor.SchemeColor = 12
 Else
   If c = "peut-etre" Then
     ActiveSheet.Shapes(image).Visible = True
     ActiveSheet.Shapes(image).Line.ForeColor.SchemeColor = 11
   Else
     ActiveSheet.Shapes(image).Visible = False
   End If
 End If
 AfficheCache = 0
End Function

Si la valeur de A2 dépend d'une cellule d'une autre feuille ou autre classeur, ajouter :

Private Sub Worksheet_Activate()
Calculate
End Sub

JB
 

Pièces jointes

  • ShapesAfficheCachePeutEtre.xls
    43 KB · Affichages: 343
Dernière édition:

forzascuderia

XLDnaute Nouveau
Re : Faire apparaitre et disparaitre une image en fonction du résultat d'une cellule.

Bon et bien je dois être un peu "c..." parce que ca ne fonctionne pas chez moi. Youpi ! lol

Dans le fichier que tu m'as joins Jean-Marie, j'ai toujours la liste déroulante en A2 de la feuille 1, je n'ai pas de formule. C'est normal ?
 

JeanMarie

XLDnaute Barbatruc
Re : Faire apparaitre et disparaitre une image en fonction du résultat d'une cellule.

Re...

Dans la cellule A2, j'ai cette formule
Code:
=CHOISIR(ENT(ALEA()*3)+1;"oui";"peut-être";"non")
Ensuite pour changer la valeur, il suffit de modifier ou de saisir dans une autre cellule que la cellule A2.

@+Jean-Marie
 

Discussions similaires

Statistiques des forums

Discussions
312 687
Messages
2 090 950
Membres
104 705
dernier inscrit
Mike72