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 :

Sous condition modifier le format d'une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Points : 53
    Points
    53
    Par défaut Sous condition modifier le format d'une cellule
    Bonjour,

    je souhaiterai savoir comment faire pour que sous une condition définie, une cellule sous de couleur X et sous le reste dans une couleur Y.

    et comment connaitre le code couleur de la couleur choisie?

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut
    Salut
    le plus simple est de tester avec l'enregistreur de macros et les formats conditionnels déjà existant dans Excel. Tu peux aussi utiliser l'enregistreur pour modifier la couleur de plusieurs cellules et voir ensuite À quel index la couleur correspond.
    Sinon, tu utilises un If.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    IF macondition Then
    macellule.Interior.ColorIndex = x
    Else
    macellule.Interior.ColorIndex = y
    EndIf

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut jbggg et le forum
    Je ne vais pas refaire la macro ci-dessus, juste quelques remarques :
    je souhaiterai savoir comment faire pour que sous une condition définie, une cellule sous de couleur X et sous le reste dans une couleur Y.
    Pas sûr de comprendre : trop de "sous" et ça me sous le!
    Pourquoi ne pas utiliser une MFC (Mise au Format Conditionnelle) ? 3 conditions possibles (+ sans condition) sur version 2003 et beaucoup plus sur 2007.
    et comment connaitre le code couleur de la couleur choisie?
    Avec Dim X as Long
    X=macellule.Interior.ColorIndex donnera l'index de la couleur de macellule
    X=macellule.Interior.Color donnera le code la couleur de macellule
    A+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Points : 53
    Points
    53
    Par défaut
    le plus simple utiliser l'enregistreur de macro. Il donne directemetn le code couleur et la macro il suffit de rajouter un petit IF :

    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
     Range("K15").Select
                ActiveCell.FormulaR1C1 = "Nbre pièces my/LGT"
                Range("L15").Select
                Selection.Interior.ColorIndex = 2
                Selection.Borders(xlDiagonalDown).LineStyle = xlNone
                Selection.Borders(xlDiagonalUp).LineStyle = xlNone
                With Selection.Borders(xlEdgeLeft)
                    .LineStyle = xlContinuous
                    .Weight = xlThin
                    .ColorIndex = xlAutomatic
                End With
                With Selection.Borders(xlEdgeTop)
                    .LineStyle = xlContinuous
                    .Weight = xlThin
                    .ColorIndex = xlAutomatic
                End With
                With Selection.Borders(xlEdgeBottom)
                    .LineStyle = xlContinuous
                    .Weight = xlThin
                    .ColorIndex = xlAutomatic
                End With
                With Selection.Borders(xlEdgeRight)
                    .LineStyle = xlContinuous
                    .Weight = xlThin
                    .ColorIndex = xlAutomatic
                End With
                Range("E7").Select
                With Selection
                    .HorizontalAlignment = xlRight
                    .VerticalAlignment = xlBottom
                    .WrapText = False
                    .Orientation = 0
                    .AddIndent = False
                    .IndentLevel = 0
                    .ShrinkToFit = False
                    .ReadingOrder = xlContext
                    .MergeCells = False
                End With

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut jbggg et le forum
    le plus simple utiliser l'enregistreur de macro. Il donne directemetn le code couleur et la macro il suffit de rajouter un petit IF
    Pas tout à fait d'accord avec toi : c'est parce que ça semble si simple qu'on a des codes à rallonge parsemé de .Select/Selction. Ton code fait 37 lignes alors que pour changer la couleur de fond, une seule suffit. Tout code créé de manière automatique devrait subir une épuration ne conservant ainsi que les lignes réellement utiles.
    A+

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

Discussions similaires

  1. [Python 2.X] Excel: Modifier format d'une cellule
    Par Boschton dans le forum Général Python
    Réponses: 6
    Dernier message: 03/09/2014, 13h17
  2. [POI]recuperer et modifier les données d'une cellule
    Par corbier32 dans le forum Documents
    Réponses: 5
    Dernier message: 04/05/2006, 10h41
  3. [VBA-E]changer le format d'une cellule dans un spreadsheet
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 13/02/2006, 11h12
  4. Comment forcer le format d'une cellule?
    Par cha_cha dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/11/2005, 14h31
  5. Display Format d'une cellule d'une DBGrid
    Par Wilco dans le forum Bases de données
    Réponses: 5
    Dernier message: 21/10/2004, 13h00

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