Mise en forme conditionnelle très particulière
Résolu/Fermé
A voir également:
- Mise en forme conditionnelle très particulière
- Mise en forme conditionnelle excel - Guide
- Mise en forme tableau word - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise en forme tableau croisé dynamique - Guide
- Mise a jour windows 10 - Accueil - Mise à jour
2 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
20 avril 2015 à 18:44
20 avril 2015 à 18:44
Bonjour,
Cela ne peut se faire que par macro VBA, et dans ce cas la mise en forme conditionnelle n'est pas utile, il suffit de colorer directement la ligne.
Mets ton fichier sur https://www.cjoint.com/
et reviens poster le lien
Cela ne peut se faire que par macro VBA, et dans ce cas la mise en forme conditionnelle n'est pas utile, il suffit de colorer directement la ligne.
Mets ton fichier sur https://www.cjoint.com/
et reviens poster le lien
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
20 avril 2015 à 19:28
20 avril 2015 à 19:28
Bonjour,
Vu qu'il s'agit de colorer une seule fois les cellules, il n'est utile de créer un fichier avec macro (xlsm).
Copies la macro ci-dessous dans le module de feuille (clic droit sur l'onglet / visualiser le code) exécutes-la, puis effaces-la et enregistre en xlsx
Vu qu'il s'agit de colorer une seule fois les cellules, il n'est utile de créer un fichier avec macro (xlsm).
Copies la macro ci-dessous dans le module de feuille (clic droit sur l'onglet / visualiser le code) exécutes-la, puis effaces-la et enregistre en xlsx
Option Explicit Sub couleur() Dim p As Range 'plage Dim c As Range 'cellule Dim r As Byte 'rouge Dim v As Byte 'vert Dim b As Byte 'bleu Set p = Worksheets("Feuil1").Range("D3:D215") For Each c In p.Cells r = Val(c.Value) v = Val(c.Offset(0, 2).Value) b = Val(c.Offset(0, 3).Value) c.Offset(0, -2).Resize(1, 14).Interior.Color = RGB(r, v, b) Next c End Sub
C'est tout simplement Gé-NIAL !!
Merci, vraiment, merci beaucoup Patrice !! :)
Je vais analyser la maccro, ça m'intéresse le VBA.
Je vois que tu déclare tes variables au début.
Ensuite tu paramètre la plage, puis les celulles.
"v = Val(c.Offset(0, 2).Value)"
"b = Val(c.Offset(0, 3).Value)"
Les offset c'est pour décaler de 2 et 3 colonnes ?
Le début de la dernière ligne est flou pour moi par contre.
C'est tip top ! Tu m'as fait gagné un temps fou !
Merci, vraiment, merci beaucoup Patrice !! :)
Je vais analyser la maccro, ça m'intéresse le VBA.
Je vois que tu déclare tes variables au début.
Ensuite tu paramètre la plage, puis les celulles.
"v = Val(c.Offset(0, 2).Value)"
"b = Val(c.Offset(0, 3).Value)"
Les offset c'est pour décaler de 2 et 3 colonnes ?
Le début de la dernière ligne est flou pour moi par contre.
C'est tip top ! Tu m'as fait gagné un temps fou !
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
20 avril 2015 à 20:40
20 avril 2015 à 20:40
Quelques explications :
-
-
Rappel : cette valeur est une chaine.
- la fonction Val() permet de convertir cette valeur en nombre.
Pour la ligne :
-
Avec
de la couleur de fond
de la plage comprenant 1 ligne et 14 colonnes
commence dans la cellule située à 2 colonnes à gauche
Si tu te lances dans le VBA un excellent cours ici :
https://bidou.developpez.com/article/VBA/
Cordialement
Patrice
-
For Each c In p.Cells= pour chaque cellule de la plage p (c-à-d. D3:D215)
-
c.Offset(0, 2).Valuedonne la valeur de la cellule située en décalant c de 0 lignes et 2 colonnes.
Rappel : cette valeur est une chaine.
- la fonction Val() permet de convertir cette valeur en nombre.
Pour la ligne :
-
c.Offset(0, -2).Resize(1, 14).Interior.Color = RGB(r, v, b)
Avec
= RGB(r, v, b)on défini la value RVB
de la couleur de fond
.interior.color
de la plage comprenant 1 ligne et 14 colonnes
.Resize(1, 14)qui
commence dans la cellule située à 2 colonnes à gauche
.Offset(0, -2)de la cellule en D
Si tu te lances dans le VBA un excellent cours ici :
https://bidou.developpez.com/article/VBA/
Cordialement
Patrice
Cannonride
>
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
20 avril 2015 à 22:32
20 avril 2015 à 22:32
Super, je vais m'instruire.
Explication très claire. Tu as parfaitement répondu à mes questions. Et plus encore.
Merci Beaucoup Patrice !
Bien cordialement.
Explication très claire. Tu as parfaitement répondu à mes questions. Et plus encore.
Merci Beaucoup Patrice !
Bien cordialement.
20 avril 2015 à 18:49
Je viens de le faire, j'ai modifié mon premier message avec le lien en bas de page.
J'ai coloré manuellement les 2 premières lignes pour donner l'exemple.