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 :

afficher une valeur en rouge selon son signe


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 79
    Par défaut afficher une valeur en rouge selon son signe
    Bonjour à tous !

    Alors je sais, c carrément du niveau débutant, mais je ne me souviens plus du tout de la formulation pour les codes couleurs des polices ni rien !

    En gros, ce que je voudrais faire : lorsqu'une valeur est négative (fonction IF, jusque là c bon) , mais comment faire pour que vba parcours le tableau et qu'il les affiche en rouge ??????

    je ne m'en souviens plus du tout!

    Merci d'avance !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut
    Coucou!
    Remplace début colonne, fincolonne, debutlign et finlign par les coordonnées de ton tableau à parcourir...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    For i = DébutLign to Finlign
       For j = Debutcolonne to Fincolonne
          If cells(i,j).value<0 then
             Cells(i,j).select
             With Selection.Font
               .Color = -16776961
               .TintAndShade = 0
             End With
          End IF
       Next j
    Next i

  3. #3
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Est-ce vraiment nécessaire de passer par VBA ? Une MFC me parraît plus appropriée et plus rapide (non non...MFC n'est pas une vilaine maladie...MFC = Mise en Forme Conditionnelle)

  4. #4
    Membre éprouvé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Par défaut
    si c'est le fond de la cellule en rouge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").Interior = vbRed
    si c'est la police
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").Font.Color = vbRed
    edit: grilled

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut
    Bonjour,

    Fring, on peut passer aussi par Format --> Cellule --> Nombre ...
    Autre procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub negatif()
      Dim Cellule As Range
      For Each Cellule In Range("A1:B5") 'plage à adapter
        If Cellule.Value < 0 Then Cellule.Font.ColorIndex = 3
      Next
    End Sub

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Oui Ordonc bonne remarque, il y a un format de cellule qui peut jouer ce rôle là aussi. Dans ton code tu devrais ajouter une ligne, sinon lorsque le nombre redeviendra positif, il restera en rouge

    En VBA, le format de cellule donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sub test()
    Range("A1:A50").NumberFormat = "0.00_ ;[Red]-0.00 "
    ou sans décimale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sub test()
    Range("A1:A50").NumberFormat = "0_ ;[Red]-0 "

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 79
    Par défaut Merci à tous !!!!
    Grace à un petit mix de toutes vos solutions , mon problème est réglé !!!!

    Vraiment cool !!!!

    A+

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/07/2015, 11h36
  2. Réponses: 2
    Dernier message: 17/02/2014, 09h23
  3. Réponses: 2
    Dernier message: 06/02/2011, 21h40
  4. [AC-2003] afficher une valeur selon une condition
    Par Souri84 dans le forum IHM
    Réponses: 3
    Dernier message: 19/11/2009, 11h10
  5. [Vxi3] afficher une valeur selon la ligne du tableau
    Par aurelie83 dans le forum Deski
    Réponses: 10
    Dernier message: 23/10/2009, 20h56

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