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 :

couleur cellules en rapport a une autre cellule [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut couleur cellules en rapport a une autre cellule
    Bonsoir le forum

    Comment mettre plusieurs cellules en ( bleu , rouge , jaune , vert , orange ou violet ) Cellules : D12 à L12 / D14 / D16 à H16 / D18 à M18 / D20 à M20 / D22 à M22 / D24 à M24 / D26 à F26 / D28 à E28 / I28 à L28 / D30 / H30 / L30 / D38 à E38 / I38 à K38 / D40 à L40 / D42 / I42 à L42 / D44 à F44 / K44 et L44 / D46 à M46 / D48 à M48 .Toutes ces cellules doivent se mettre en bleu si dans la cellule I6 il y a le chiffre 2 , s'il y a 3 c'est en rouge ,s'il y a 4 c'est en jaune , vert pour le 5 , orange pour le 6 et violet pour le 7 et aucune couleur pour le 1 . Il faudrait aussi que pour les couleurs bleu et vert la police soit en blanc.
    merci pour vos réponses

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Ci dessous un bout de code à compléter.
    J'ai mis un peu de tes cellules et mis le traitement pour 2 et 3

    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 Worksheet_Change(ByVal Target As Range)
    Dim rg As Range
     
    If Target.Address(False, False) = "I16" Then
     
        Set rg = Union(Range("D12:L12"), Range("D14"), Range("D16:H16"))
        Select Case Target.Value
            Case 2
                rg.Interior.ColorIndex = 5
                rg.Font.ColorIndex = 2
            Case 3
                rg.Interior.ColorIndex = 3
                rg.Font.ColorIndex = 1
        End Select
    End If
     
    End Sub

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Quel est ta version d'Excel?
    Renomme ta plage de données PLAGE et utilise les mise en forme conditionnelles avec formules ...

  4. #4
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut
    re bonsoir,

    merci pour le code je vais l'essayer

    excel 2003 mais je ne comprend pas
    Renomme ta plage de données PLAGE et utilise les mise en forme conditionnelles avec formules
    j'ai mis un exemple en piece jointe

    RE
    Jérome,
    Je ne sais pas ou mettre le code que tu m'as indiquer
    Peut tu STPlait me l'indiquer dans le fichier joint [1er message]
    merci BCP

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Sur Excel 2003, tu as la possibilité de seulement 3 conditions pour la mise en forme conditionnelle.
    Je retire donc ma proposition.

  6. #6
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut
    merci quand meme

    mais a tu vu mon exemple en pièce jointe [ message 1]
    ( je m'explique peut être mal )

  7. #7
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Ci joint ton fichier avec le code en place.
    J'ai remplacé l'objet formulaire "zone de liste" par une liste de validation dans la cellule I6 (liée à la plage nommée Plage_NA)

    Couleurs cellules.xls

  8. #8
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut
    bonsoir jérome, le forum

    Désolé pour la réponse tardive
    merci pour ton aide ça fonctionne a merveille.

    cela mérite 2

    juste un oouuppss:
    A la place des chiffres 1,2,3,4,5,6 et 7 j'aimerais mettre du texte
    je fait comment???
    Merci Jérome si tu as une réponse

  9. #9
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    Tu pourrais chercher un peu...

    Il me semble que c'est là que ça se passe:
    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
        Select Case Target.Value
            Case 2
                rg.Interior.ColorIndex = 5
                rg.Font.ColorIndex = 2
            Case 3
                rg.Interior.ColorIndex = 3
                rg.Font.ColorIndex = 1
            Case 4
                rg.Interior.ColorIndex = 6
                rg.Font.ColorIndex = 1
            Case 5
                rg.Interior.ColorIndex = 4
                rg.Font.ColorIndex = 2
            Case 6
                rg.Interior.ColorIndex = 45
                rg.Font.ColorIndex = 1
            Case 7
                rg.Interior.ColorIndex = 18
                rg.Font.ColorIndex = 1
            Case Else
                rg.Interior.ColorIndex = xlNone
                rg.Font.ColorIndex = 1
        End Select
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  10. #10
    Membre confirmé
    Homme Profil pro
    manager
    Inscrit en
    Février 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : manager
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2010
    Messages : 56
    Par défaut
    hello à tous ,

    une autre façon de faire

    A+
    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
    Sub Rectangle1_Clic()
    'macro mise en couleur selon la valeur d'une autre cellule
    Dim ZoneàModifier As Range '
    Dim cellule As Range
    Set ZoneàModifier = Range("A4:A385")                                    'selctionner la zone
    For Each cellule In ZoneàModifier                                       'pour la zone à modifier
    Select Case cellule                                                     'selectionner une cellule
    Case Is = ""                                                            'si la case est vide
    cellule.Interior.ColorIndex = 2                                         'couleur font blanche
    Case Is = "Bleu"                                                        'si la case est bleu
    cellule.Interior.ColorIndex = 5                                         'couleur font bleu
    Case Is = "Verte"                                                       'si la case est Verte
    cellule.Interior.ColorIndex = 4                                         'couleur font verte
    Case Is = "Orange"                                                      'si la case est Orange
    cellule.Interior.ColorIndex = 46                                        'couleur font Orange
    Case Is = "Rose"                                                        'si la case est Rose
    cellule.Interior.ColorIndex = 7                                         'couleur font Rose
    Case Is = "Jaune"                                                       'si la case est Jaune
    cellule.Interior.ColorIndex = 6                                         'couleur font Jaune
    End Select
    cellule.Offset(0, 1).Interior.ColorIndex = cellule.Interior.ColorIndex  'décale d'une case vert la droite et de zero vers le bas et font identique à la cellule de départ
     
     
    Next                                                                    'suivant
    End Sub

  11. #11
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut bonsoir
    bonsoir le forum

    OUI alain je pense que c'est la et j'ai modifié case 1, case 2, --> case 7 mais ca ne marche pour case 7 ca me met Valeur

    Young 25 merci pour ton code je vais l'essayé

    moi tenir vous au courant

  12. #12
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par gilt83 Voir le message
    j'ai modifié case 1, case 2, --> case 7
    Et tu as mis quoi à la place?

    Si tu veux qu'on t'aide il faut nous aider...

    Poste ton code modifié.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  13. #13
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut
    Voici le code avec les noms définitifs
    Car toutes les célulles ne doivent pas être colorisées(sauf celles écrite en rouge dans le code)

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    private Sub Worksheet_Change(ByVal Target As Range)
    Dim rg As Range
     
    If Target.Address(False, False) = "I6" Then
     
        Set rg = Union(Range("D12:L12"), Range("D14"), Range("D16:H16"), Range("D18:M18"), Range("D20:M20"), _
                Range("D22:M22"), Range("D24:M24"), Range("D26:F26"), Range("D28:E28"), Range("I28:L28"), _
                Range("D30"), Range("H30"), Range("L30"), Range("D38:E38"), Range("I38:K38"), Range("D40:L40"), _
                Range("D42"), Range("I42:L42"), Range("D44:F44"), Range("K44:L44"), Range("D46:M46"), Range("D48:M48"))          
     
        Select Case Target.Value
            Case Equipe N°1
                rg.Interior.ColorIndex = 5
                rg.Font.ColorIndex = 2
            Case Equipe N°2
                rg.Interior.ColorIndex = 3
                rg.Font.ColorIndex = 1
            Case Equipe N°3
                rg.Interior.ColorIndex = 27
                rg.Font.ColorIndex = 1
            Case Equipe N°4
                rg.Interior.ColorIndex = 10
                rg.Font.ColorIndex = 2
            Case Equipe N°5
                rg.Interior.ColorIndex = 45
                rg.Font.ColorIndex = 1
            Case Equipe N°6
                rg.Interior.ColorIndex = 26
                rg.Font.ColorIndex = 1
            Case Entraineurs
                rg.Interior.ColorIndex = 2
                rg.Font.ColorIndex = 1
            Case Else
                rg.Interior.ColorIndex = xlNone
                rg.Font.ColorIndex = 1
        End Select
    End If
     
    End Sub
    Merci alain

    Youg 25 ton code doit t'il remplacer celui inscrit plus haut
    merci

  14. #14
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Commence par mettre les textes entre guillemets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select Case Target.Value
    Case "Equipe N°1"
    rg.Interior.ColorIndex = 5

  15. #15
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut
    RE

    Je viens de le faire est dans les celulles il y a (#VALEUR) qui s'inscris

    merci

  16. #16
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Le code ci dessous change uniquement la mise en forme des cellules.
    Je ne pense pas que ce ton problème #VALEUR vienne de cette macro. Regarde la formule qui se trouve dans ces cellules

  17. #17
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut
    Je t'es mis quelques formules qui sont dans les celulles en rouge

    =INDEX(Base!$A$3:$DH$470;$I$6;2) pour la celulle D12
    =INDEX(Base!$A$3:$DH$470;$I$6;3) pour la celulle D14
    =INDEX(Base!$A$3:$DH$470;$I$6;4) pour la celulle E12
    =INDEX(Base!$A$3:$DH$470;$I$6;5) pour la celulle F12
    en sachant que la feuille INDEX est masquée

    merci

  18. #18
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Le premier argument de la formule Index doit être la référence à une plage de cellules et non une seule cellule.
    Que cherches tu avoir en retour de cette formule?

  19. #19
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut
    je comprend pas trop

    <<Que cherches tu avoir en retour de cette formule?>>

    je te met le fichier joint

    Merci de ton aide

  20. #20
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Tu devrais t'en sortir avec un recherchev
    formule a mettre en D14
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV($I$6;Base!$A$3:$C$9;3;0)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 11
    Dernier message: 13/03/2014, 20h01
  2. Réponses: 2
    Dernier message: 13/04/2009, 19h25
  3. [XL-2003] Contenu d une cellule comme référence d une autre Cellule
    Par Utopsya dans le forum Excel
    Réponses: 4
    Dernier message: 02/04/2009, 08h30
  4. Récupérer la couleur d'une cellule et l'affecter à une autre
    Par Prue dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/08/2008, 17h04

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