Test conditionnel portant sur la couleur de la cellule

regis95800 Messages postés 8 Statut Membre -  
Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j'ai fait un tableau excel avec certaines cases avec fonds de couleur jaune et d'autres non;
je souhaite que les cellules sans fonds de couleur aient le chiffre 0 et celles avec le fonds de couleur jaune la valeur se trouvant dans la première cellule de la colonne

quelqu'un sait il comment faire un test conditionnel portant sur la couleur de la cellule ?

merci

4 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    la mise en couleur est t elle manuelle ou créee par une mise en forme conditionnelle ,

    0
  2. regis95800 Messages postés 8 Statut Membre
     
    la mise en couleur est manuelle
    0
    1. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
       
      C'est dommage ! Il aurait été préférable de renseigner tes cellules avec le chiffre 0 ou la formule =INDEX(A1:Z1;1)
      Ensuite tu crées une règle de mise en forme conditionnelle pour remplir en jaune les cellules différentes de 0 ...
      0
      1. regis95800 Messages postés 8 Statut Membre > Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention  
         
        en fait non ; mon besoin n'est pas de coloriser la cellule
        mon besoin est :
        si je colorise la cellule (par exemple en jaune), apparait la valeur qui se trouve en haut de la colonne; si je ne colorise pas la cellule, n'apparaît aucune valeur ou bien apparait la valeur 0
        j'espère être plus clair sur mon besoin
        merci en tout cas
        0
      2. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480 > regis95800 Messages postés 8 Statut Membre
         
        Oui, c'est très clair : c'est que tu as demandé au départ ...
        Moi, je t'explique que ce n'est pas la meilleure approche : Ce n'est pas plus long ni plus compliqué de saisir la formule dans toutes les cellules du tableau (juste un copier-coller) puis de mettre des 0 au lieu de mettre du jaune, là où c'est nécessaire. Et cela ne nécessite pas de macro !
        Cordialement.
        0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Il y a plusieurs ton de jaune
    dans un premier temps
    pour savoir le code couleur
    sur la feuille selectionne une cellule colorée
    et exécute cette macro
    Sub couleur()
    MsgBox ActiveCell.Interior.Color
    End Sub

    le jaune classique te renvoie 65535

    en connaissant le code tu boucleras sur la zone de travail avec la fonction Find
    avec le parametre "searchformat"

    désolé, mais je dois m'absenter

     Michel
    0
    1. regis95800 Messages postés 8 Statut Membre
       
      ok le test sur la couleur donne bien le code 65535

      ensuite .... find "searchformat" ..... je ne comprends pas

      merci en tout cas
      0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    En lisant ton échange avec Raymond, je m'aperçois que j'avais mal compris ton pb

    Excel étant un calculateur , Vba a du mal avec des évènements sur des couleurs donc

    principe: tu mets la cellule en jaune et tu fais un clic droit
    Option Explicit
    '------------------------------------------------------
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("A3:D10")) Is Nothing Then
    If Target.Interior.ColorIndex = 6 Then: Target = Cells(1, Target.Column)
    End If
    Cancel = True
    End Sub


    macro à copier-coller dans le module feuille concerné

    pour cela faire un copier de cecode
    clic droit sur l'onglet de la feuille
    visualiser le code
    coller

    la maquette de W
    https://www.cjoint.com/c/FJvpineX636

     Michel
    0