CelluleA1feuille2 = green si celluleaA1feuille couleur verte

Résolu
mikamadeus Messages postés 44 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

J'ai deux feuilles dont une qui recapitule des performances traduite par des couleur de cellules ( verte, orange, rouge ) et une deuxieme feuille qui recupere ces couleur et qui sert de base de donnée pour des graphiques.

Comment faire pour que sur ma deuxieme feuille les cases data se fasse de la facon suivante.

Si cellule A1 feuille 1 couleur verte alors cellule A1 feuille 2 'green'
.............A2........................rouge................A2.............'red'

Je ne penses pas que ce soit compliqué, mais ayant lu des post, je bloque un peu car mes couleurs sont rentrées manuellement.

Merci pour votre aide

5 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Je ne sais pas si j'ai bien compris le problème
    http://www.cjoint.com/c/EFjqmzpojzU

    Cdlmnt
    0
    1. mikamadeus Messages postés 44 Statut Membre
       
      Merci beaucoup, c'est exactement ca.
      En revanche je n'ai pas saisi ces 2 etapes , dois-je rajouter quelquechose au module ?
      2. Clic-clic en colonne A pour récupérer le code couleur
      3. Modifies les valeurs des constantes rouge et vert dans le code de la fonction Couleur (dans Module 1)

      Comme ceci :

      Public Function Couleur(cel As Range) As String
      Dim coul As Long
      coul = cel.Interior.ColorIndex
      Select Case coul
      Case vert: Couleur = "green"
      Case rouge: Couleur = "red"
      Case orange: Couleur = "orange"
      Case grise: Couleur = "grey"
      End Select
      End Function

      je n'ai rien de plus a faire ?
      merci,
      0
    2. mikamadeus Messages postés 44 Statut Membre
       
      Ah nous cela ne marche pas de cette facon .. comment faites vous pour lier une couleur a une valeur ecrite ? ( red, gree, orange, grey ? )

      merci beaucoup
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Avant le code de la procédure Couleur, les constantes utilisées vert, rouge sont initialisées en début de code.
    Mais, il faut connaitre le code de chacune de ces couleurs : 3 pour rouge, 50 pour vert, etc ... et je suppose que tu ne les connais pas (moi non plus d'ailleurs)
    En feuille 1, le clic-clic en colonne A sur une cellule colorée permet justement de récupérer ces codes couleurs, que tu reportes ensuite dans les valeurs des constantes citées plus haut. Cette manip n'est à faire qu'une fois (en principe)

    Const rouge = 3
    Const vert = 50
    Const orange = ......
    Const grise = ......

    Lorsque tu auras affecté aux constantes leurs valeurs, ton code devrait fonctionner

    Cdlmnt
    0
    1. mikamadeus Messages postés 44 Statut Membre
       
      Ca marche parfaitement, merci beaucoup.

      Une ultime question, utiliser cette procédure sur mon tableau dèjá existant ?

      Merci beaucoup,
      0
    2. ccm81 Messages postés 11033 Statut Membre 2 434
       
      1. utiliser cette procédure
      Laquelle ?
      2. sur mon tableau dèjá existant
      Lequel ?
      0
    3. mikamadeus Messages postés 44 Statut Membre
       
      Faire en sorte que dans la feuille 'simplified' la colonne couleur E donne la colonne P en feuille 'table de passage' sous forme : green/ orange / red / grey ...

      Exactement ce que nous venons de faire, mais sur mon tableau. Je ne sais comment faire ici.

      En pieçe jointe de mon cas precis.

      merci !

      https://www.cjoint.com/c/EFknjaw4jav
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Désolé,
    je ne peux pas lire ton fichier, il me le faut au format excel 2003 (fichier/enregistrer sous/Type / excel 2003 .xls
    0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Explications dans la feuille Table de passage
    http://www.cjoint.com/c/EFko5a5DHnU

    Cdlmnt
    0
    1. mikamadeus Messages postés 44 Statut Membre
       
      Bonjour,

      Cela fonctionne parfaitement, merci.
      Comment faire pour utiliser votre code dans excatement le meme cas sur un autre fichier ?

      Quand je met =kouleur(Simplified!E8) par exemple , un #NAME? se met dans la case. ( les colonnes et noms de feuilles correspondent)

      Que dois je faire pour refaire apparaitre les chiffre a coter des couleur ?
      Et ainsi repter la procedure sur mon autre fichier ( qui l'identique, niveau format )

      Merci !
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     
    1. Récupération des codes couleurs dans la feuille Simplified
    Tu te mets dans la feuille Simplified
    Alt-F11 pour accéder à l'éditeur vba
    Tu colles ce code

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Target.Offset(0, 1).Value = Target.Interior.ColorIndex
    End Sub

    Retour dans la feuille
    Colonne E (où sont les cellules colorées)
    clic-clic sur une couleur, le code s'inscrit à droite

    2. La fonction Kouleur
    Alt-F11 pour accéder à l'éditeur vba
    2.1. tu as des Modules du genre Module 1, Module 2 etc..
    tu colles le code dans ce module
    2.2. tu n'as pas de Module
    Insertion/Module
    tu colles le code dans le module créé
    Tu modifies éventuellement les valeurs des constantes en début de code avec celles que tu as trouvé au point 1.

    Const rouge = 3
    Const vert = 50
    Const orange = 44
    Const gris = 48
    
    Public Function Kouleur(cel As Range) As String
    Dim coul As Long
    coul = cel.Interior.ColorIndex
    Select Case coul
      Case vert: Kouleur = "green"
      Case rouge: Kouleur = "red"
      Case orange: Kouleur = "orange"
      Case gris: Kouleur = "grey"
    End Select
    End Function

    La fonction Kouleur est maintenant opérationnelle

    Bon courage
    0
    1. mikamadeus Messages postés 44 Statut Membre
       
      Parfait !! Tout marche parfaitement merci.

      Savez vous si j'ajoute une ligne avec une couleur supplementaire dans une feuille, pour qu'elle s ajoute aussi dans ma table de passage ? Afin qu'il n'y ai pas de decalages de couleur. Nous pouvons faire une nouvelle table de passage si besoin.

      Mercii :)
      0
    2. ccm81 Messages postés 11033 Statut Membre 2 434
       
      si j'ajoute une ligne avec une couleur supplementaire dans une feuille,
      Pas de problème (en principe), il te suffit de l'ajouter dans la liste des constantes et bien sûr, d'ajouter le cas dans le Select case coul
      Si c'est fini, merci de mettre le sujet à Résolu (en haut à droite de ton premier message)

      Bonne fin de journée
      0