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 :

Mettre en couleur des lignes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2019
    Messages : 17
    Par défaut Mettre en couleur des lignes
    En gros, j’ai plusieurs colonnes et dans la colonne D, j’ai une date 20191010 sous ce format par exemple. Je voudrais que là où il y a une date dans le passé, la ligne soit rouge, entre aujourd’hui et plus 7 jours en orange et au-delà de aujourd’hui plus 7 jours en vert.

    Avec cet exemple, la ligne doit se colorier en rouge. Le problème, c’est que j’ai en permanence 200 lignes. Je voudrais une MAJ automatique

    Merci pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Avec des MFC, si j'ai bien compris
    pour le rouge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(DROITE($D2;2)&"/"&STXT($D2;5;2)&"/"&GAUCHE($D2;4))*1<AUJOURDHUI()
    pour l'orange
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(DROITE($D2;2)&"/"&STXT($D2;5;2)&"/"&GAUCHE($D2;4))*1<=AUJOURDHUI()+7
    pour le vert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(DROITE($D2;2)&"/"&STXT($D2;5;2)&"/"&GAUCHE($D2;4))*1>=AUJOURDHUI()+7
    Pièce jointe 511033

    Cdlt

  3. #3
    Expert confirmé
    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 : 68
    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
    Billets dans le blog
    7
    Par défaut
    Salut,

    Pour ma part, j'aurais intégré une fonction de date

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATE(ENT($D2/10000);STXT($D2;5;2);GAUCHE(D$2;2))>=AUJOURDHUI()

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par ARTURO83 Voir le message
    Avec des MFC, si j'ai bien compris
    pour le rouge
    pour l'orange
    pour le vert
    En jouant la fainéantise positive on peut se contenter de deux MFC si on met en couleur de fond de cellule l'une de ces trois couleur(de préférence vert ou rouge).

  5. #5
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2017
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2017
    Messages : 556
    Par défaut
    Salut tous le monde,


    Oui effectivement on peut le faire via des MFC ... Les MFC pour moi me puent au nez étant donné qu'elles sont altéré lors de copie de nouvelle donné d'autre classeur et on dois lors d'ajout les refaire.


    Pour moi les MFC ne sont pas optimal ... elles sont faciles a utiliser et de base dans excel mais dépend de l'utilisation, si comme moi vous copié des données d'autre classeur ou autre feuille je vous conseille de faire du code. Également a mon avis elles sont limité. Par exemple on ne peux sans concatener des cellules avoir des réels doublons d'une base de donné dont l'information pertinente est sur deux colonnes.



    Bref oui c'Est bon mais pas optimal ...

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ce n'est pas parce que les MFC ne conviennent pas à certains de TES cas, qu'il faut considérer qu'on ne doit pas les utiliser.

    Citation Envoyé par jpvba Voir le message
    Oui effectivement on peut le faire via des MFC ... Les MFC pour moi me puent au nez étant donné qu'elles sont altéré lors de copie de nouvelle donné d'autre classeur et on dois lors d'ajout les refaire.
    Non, il suffit de faire un "Coller Valeurs" pour ne pas modifier le format des cellules de destination.

    Par exemple on ne peux sans concatener des cellules avoir des réels doublons d'une base de donné dont l'information pertinente est sur deux colonnes.
    Visiblement, tu ne connais pas le fonction NB.SI.ENS() qui, dans une MFC de type Formule, permet de faire ça assez simplement.

    Cela dit, ça ne semble pas concerner la demande actuelle et pour laquelle les MFC semblent convenir.

  7. #7
    Expert confirmé
    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 : 68
    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
    Billets dans le blog
    7
    Par défaut
    (télescopage Menhir)

    Salut

    qu'elles sont altéré lors de copie de nouvelle donné d'autre classeur et on dois lors d'ajout les refaire.
    Euh, pas forcément. Il suffit d'effectuer des copies spéciales de valeur.

    De mémoire, je n'ai jamais rencontré de cas où une MFC ne pouvait pas s'appliquer par formules.
    Pour ce faire, j'écris d'abord la formule dans une cellule pour la tester
    Si la cellule retourne vrai, alors je reporte la formule dans la MFC

    Également a mon avis elles sont limité. Par exemple on ne peux sans concaténer des cellules avoir des réels doublons d'une base de donné dont l'information pertinente est sur deux colonnes.
    Honnêtement, je ne vois pas le rapport.

    Il faut noter d'autre part que les références dans la formulation sont semi-relatives (seule la colonnes est constante), ce qui permet d'étendre la mise en forme conditionnelle sur la ligne.

    Si l'on souhaite supprimer les doublons sur plusieurs colonnes, alors il existe, certes VBA, la méthode RemoveDuplicate,

    mais c'est un autre sujet.

  8. #8
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2017
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2017
    Messages : 556
    Par défaut
    Entièrement d'Accord avec vous les gars.


    oui en collant la valeur spéciale, mais en travaillant avec le commun des mortelles c'Est "trop dur" pour eux de comprendre la différence mais bon, on a chacun notre contexte de travail



    Mon exemple n'est pas assez spécifiques c'Est a dire j'ai des cerises en caisse de 5lbs, caisse de 10lbs etc ... Si j'ai une colonne pour cerises et un autre pour le format, il faut bidouiller pour que les cerises ne soient pas considéré comme doublons. Non, je ne veux pas qu'ils soient supprimer mais mis en couleur en surbrillance à l'aide de valeurs en doubles



    Entièrement d'accord avec vous, mon contexte est particulier et pas parce que cela me cause des problèmes que cela peut également vous en causer mais je voulais seulement vous faire la mention qu'aucune solution est nécessairement parfaite et il faut également ce soucier du contexte.


    oui on s'égard du sujet principale ...


    au plaisir !!!!

Discussions similaires

  1. Mettre en gras et en couleur des lignes sur VBA
    Par titicab30 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/01/2012, 23h20
  2. conditionner la couleur des lignes d'un état
    Par GUYSYS dans le forum Access
    Réponses: 7
    Dernier message: 27/04/2006, 01h41
  3. [JTable] Mettre en couleur une ligne de ma JTable
    Par cedricbr dans le forum Composants
    Réponses: 3
    Dernier message: 03/03/2006, 12h47
  4. StringGrid : Couleur des lignes
    Par Caro dans le forum Composants VCL
    Réponses: 7
    Dernier message: 21/02/2006, 08h35
  5. Couleur des lignes dans DBGrid
    Par eddie dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/06/2002, 18h15

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