IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Donner une couleur à une cellule en fonction du résultat de celle-ci [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Donner une couleur à une cellule en fonction du résultat de celle-ci
    Bonjour,

    Après avoir chercher sur le forum la réponse à mes questions, je suis bloqué, pour imputer une couleur à une cellule, je m'explique,

    Dans un tableau j'ai 3 matières (géo, art et sport) et 5 notes. Les notes vont de A à E. J'aimerai sans passer par "mise en forme conditionnelle" donner une couleur à la cellule contenant les notes. par exemple si pour le note 1 j'obtiens un A j'aimerai que la cellule devienne bleu foncée tout en gardant la note, ici un A

    Merci de votre aide


    Le classeur excel :
    cellule colorée.xlsx

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 81
    Points : 124
    Points
    124
    Par défaut
    Bonjour,

    Utilise le code suivant pour changer de couleur la cellule en fonction de la valeur qui se trouve à l'interieur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If ActiveCell.Value = A Then
        ActiveCell.Interior.ColorIndex = 35
    End If
     
    If ActiveCell.Value = B Then
        ActiveCell.Interior.ColorIndex = 25
    End If
    Cordialement,
    Ltspitfire
    "Ordre et discipline font la force des armées" Charles de Gaulles

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci pour la rapidité,

    Cependant étant novice en VBA, je dois appliquer le code dans une macro ? directement en VBA?

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 81
    Points : 124
    Points
    124
    Par défaut
    Re,

    Dans le This_Worbook tu inserts le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
     
    Dim FL1 As Worksheet, Cell As Range 
        Set FL1 = Worksheets("Feuil1") 
        With FL1 
             For Each Cell In .UsedRange 
              If Cell.Value = a Then
                 Cell.Interior.ColorIndex = 15
              End If
     
             If Cell.Value = b Then
                 Cell.Interior.ColorIndex = 10
               End If 
            Next 
        End With 
        Set FL1 = NoThing 
    End Sub
    Cordialement,
    Ltspitfire
    "Ordre et discipline font la force des armées" Charles de Gaulles

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup pour ton aide,

    je n'arrive pas encore à exécuter le programme, mais ça va venir ^^

    Cordialement,
    Bertrandmal

  6. #6
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut CHOIX DE COULEUR
    Bonjour à vous Bonjour le Forum,

    Mes meilleurs voeux à toute la communauté pour 2015!

    Je pense que la méthodeest la plus appropriée.
    Elle est facilement gérable car plus claire.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 81
    Points : 124
    Points
    124
    Par défaut
    Re Bertrandmal,

    J'ai oublier quelque chose d'important j'ai test chez moi et cela fonctionne.

    Remplace

    Par

    et pareil pour le deuxième.

    Cordialement,
    Ltspitfire
    "Ordre et discipline font la force des armées" Charles de Gaulles

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Oui merci , j'avais fait ce changement

    C'est bon tout fonctionne,

    encore merci pour le temps consacré.

    BertrandMal

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Private Sub Worksheet_Change(ByVal Target As Range)
    majColor Target
    End Sub
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    majColor Target
    End Sub
     
    Sub majColor(ByVal Target As Range)
    Dim I As Long
    For I = 1 To Target.Count
    With ActiveSheet.Range(Target(I).Address).Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
        Select Case UCase(Trim("" & Target(I).Value))
            Case "A"
                .ColorIndex = 41
            Case "B"
                .ColorIndex = 42
            Case "C"
            .ColorIndex = 43
            Case "D"
                .ColorIndex = 15
            Case "E"
                .ColorIndex = 46
        End Select
    End With
    Next
    End Sub

  10. #10
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut, et merci pour ta confirmation Rdurupt.

    Qui plus est, la méthodepermets de gérer ici plusieurs valeurs pour une même couleur

    Une astuce pour avoir le tableau de toutes les couleurs (de SilkyRoad je crois)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Option Explicit
     
    Public Sub essai_couleur()
     
    Dim i As Byte
     
    Application.ScreenUpdating = False
     
    For i = 1 To 56
            With Worksheets(1).Cells(i, 1)
                    .Value = .Row
                    .Offset(0, 1).Interior.ColorIndex = .Value
            End With
    Next i
     
     
    End Sub

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Affecter une couleur à une cellulle en fonction de son contenu
    Par ElPibeOro dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/04/2012, 15h54
  2. Couleur d'une cellule en fonction du résultat
    Par Napster2a dans le forum Débuter
    Réponses: 2
    Dernier message: 10/05/2011, 10h53
  3. Réponses: 12
    Dernier message: 30/12/2010, 14h30
  4. [XL-2003] Mettre une couleur de cellule en fonction d'une valeur.
    Par kev159 dans le forum Excel
    Réponses: 2
    Dernier message: 31/08/2010, 15h26
  5. donner une couleur à une cellule
    Par sadigoun dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 12/05/2008, 11h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo