Changement couleur élipse au clic

Résolu
Bonjour,
Dans un fichier excel, je souhaiterai qu'au simple clic sur une éllipse, celle-ci change de couleur.

Dans mon cas, il y aura un plan avec une multitude d'éllipses. Au simple clic, je voudrais modifier la couleur d'une ou plusieurs éllipse.

https://www.cjoint.com/c/FKhpWgtCu1W
Dans ce fichier, on retrouve à droite les 4 couleurs que je souhaiterai pour une seule et même éllipse (transparant, vert, orange, rouge).

Quelqu'un pourrait-il m'aider à réaliser ceci ?

Merci d'avance.

8 réponses

  1. Contributeur
    Bonjour.

    Seule une macro pourrait permettre ça.
    Tu es prêt à te mettre à VBA ?
    0
    1. Bonjour,
      Tout à fait. Je savais que seul une macro pourrait m'aider mais je ne sais pas comment procéder.
      0
  2. Bonjour,
    Personne ne peut m'aider ? Ce n'est peut être pas réalisable ?
    0
    1. Bonjour à tous

      Un petit exemple (macro) pour modifier la coulmeur d'une forme
      http://www.cjoint.com/c/FKpk0XVayuK

      Cdlmnt
      0
      1. Bonjour,
        Merci pour la réponse ! Maintenant il faut que je l'adapte à mon cas.

        Je pensais qu'il suffisait de modifier les nombres et qu'il y avait un code couleur (j'ai cherché le code couleur sur internet) mais quand je change les numéros ça ne fonctionne pas. Quand je clique sur l'étoile plus rien ne se passe.
        Const cbr = 19
        Const car = 55
        Const cor = 13
        Const cbl = 9

        De plus, est-il possible d'avoir un fond transparent pour l'un des 4 états ?

        Merci.
        0
    2. Vois ceci
      http://www.cjoint.com/c/FKprILmliMK

      PS. le code couleur est écrit dans l'étoile

      Cdlmnt
      0
      1. Merci !

        Dans un premier temps, le code couleur que j'avais trouvé sur le net n'était pas le même.
        J'ai adapté le fichier à mon attente:
        https://www.cjoint.com/c/FKqjmOMgjZD

        Il y a surement une manip que je ne réalise pas car la couleur ne change plus lorsque je clique sur l'étoile ...

        Dans un second temps, je constate qu'il n'est pas possible d'obtenir un fond de forme transparent avec cette méthode ?
        0
      2. ce n'est pas le fichier que je t'ai envoyé au post #6
        0
      3. J'ai réussi à faire ceci pour une forme:
        https://www.cjoint.com/c/FKribz50MLp

        J'ai essayé d'appliquer celle-ci à la forme 2. J'ai changé le "1" en "2" mais ça ne fonctionne pas :
        ActiveSheet.Shapes(2).Select
        Selection.ShapeRange(2).Fill.ForeColor.SchemeColor = coul

        Ensuite, je souhaiterai appliquer la macro du fichier à une multitude de formes. Je voudrais changer la couleur de chaque forme indépendemment. Serait-il possible de réaliser une macro la plus courte possible afin de ne pas copier 100 fois la macro si j'ai 100 formes. Il faut certainement ajouter des n ou autre chose mais je ne sais pas comment procéder ...
        0
    3. Contributeur
      Bonjour à tous,

      Autre proposition.
      Tes formes modèles doivent avoir un nom qui commence par "couleur".
      Les autres formes doivent avoir chacune un nom différent (si tu copies-colles une forme elle est présente 2 fois avec le même nom et forcément ça fonctionne moins bien)
      Cliquer sur le modèle voulu (pas d'avertissement de bonne sélection, je pense que ça aurait été gonflant à l'usage) puis sur les formes où appliquer le modèle.
      La sélection d'une cellule annule la pré-sélection du modèle, ce qui permet de pouvoir faire une autre action au clic.
      https://www.cjoint.com/c/FKprAKCecQW
      eric
      0
      1. Bonjour,
        Merci pour ta réponse.
        C'est une variante de ce que je voudrais faire mais j'utiliserai cette solution en cas de dernier recours. Je souhaiterai qu'au clic sur une même forme l'état change directement (voir fichier post 10). Il faut juste que je trouve comment adapter le code lorsqu'il y a une multitude de formes.
        0
      2. Contributeur
        Bonjour,

        3 jours pour prendre en compte ma réponse c'est trop.
        Je n'y passerai pas plus de temps.
        eric
        0
      3. Désolé mais je n'avais pas vu le message.
        17 nov. 2016 à 09:33 - 15 nov. 2016 à 18:27 = 1,5 jours

        Merci tout de même pour votre aide.
        0
    4. Essaies ceci
      http://www.cjoint.com/c/FKrnOR4NreK

      Cdlmnt
      0
      1. Merci beaucoup à vous !
        0