mise en forme conditionnelle

  • Initiateur de la discussion Olivier_HTP
  • Date de début
O

Olivier_HTP

Guest
Bonjour tout le monde,

Qui peut m'indiquer le code VBA qui permet de faire une mise en forme conditionnelle d'une cellule, non pas en testant la valeur de cette cellule, mais en testant la valeur d'une cellule tiers.

Exemple :
Mon tableau comporte une colonne (col. B) "noms". Je voudrais que la police de chaque cellule de cette colonne B soit de couleur rouge si la valeur de la cellule de la colonne F sur la même ligne du tableau, est positive.
Concrètement : Si la cellule de la colonne F indique que des arrhes ont été versées (donc montant >0), je veux que la cellule de la colonne B (nom du client) soit de couleur rouge au niveau de la police.

Merci d'avance à qui pourra m'indiquer le code VBA pour obtenir celà.

Bonne journée à tous

Olivier
 
O

Olivier_HTP

Guest
mise en forme conditionnelle : tjrs le même problème

Merci Bernard de ta réponse,

Malheureusement je n'arrive pas à adapter à mon cas :

Je souhaite que pour chaque cellule de la colonne F de mon tableau la police de caractère passe du noir au rouge, uniquement si la cellule dans la colonne U sur la même ligne comprend un nombre supérieur à 0.

Exemple : si U4=0 ou bien est vide, alors le nom dans F4 s'affiche en noir.
si U4 >0 alors le nom dans F4 s'affiche en rouge.
Et cela pour toutes les lignes de mon tableau.

Comme je n'ai pas pu afficher dans ton fichier le code VBA de ta macro, je ne peux même pas essayer d'adapter à mon problème.

Merci donc de m'indiquer le code VBA correspondant à la résolution de mon problème.

Cordialement,

Olivier
 
J

JB

Guest
- Salut Thomas,


voici l'adaptation à ton cas avec quelques petites explications.

J'espère que cà te conviendra.
Tiens moi au courant.

@+

JB
 

Pièces jointes

  • CouleurSelonValeur.zip
    10.5 KB · Affichages: 14
  • CouleurSelonValeur.zip
    10.5 KB · Affichages: 10
  • CouleurSelonValeur.zip
    10.5 KB · Affichages: 12
P

phl98

Guest
Voici une solution qui n'est peut être pas optimisé, mais qui fonctionne.

Sub couleur() ' Nom de la macro
Dim lin As Integer
For lin = 1 To 65000
If Not IsEmpty(Cells(lin, "B")) Then 'compte le nombre de ligne non vide
Else: GoTo 1
End If
Next lin
1
For i = 1 To lin
If Cells(i, "F") > 0 Then ' test si positif
Cells(i, "B").Font.ColorIndex = 3 ' si oui met la font en rouge
Else
Cells(i, "B").Font.ColorIndex = 1 ' si non met ou remet la font en noire
End If
Next i

End Sub

Un coup de copier/coller et ca doit fonctionner.
Cordialement.
 
B

Bernard

Guest
Rebonjour Olivier et bonjour JB et Phl98

Désolé de mon silence mais j'étais occupé à d'autres tâches !

Je vois, avec plaisir, que JB et Phl98 ont admirablement pris la relève.
Il est vraiment super ce forum !
Chose dont je suis convaincu depuis déjà longtemps comme beaucoup d'autres fidèles forumeurs.

Cordialement

Bernard
 
O

Olivier_HTP

Guest
Saisie automatique d'un caractère en début de cellule

Bonjour à tous,

Je voudrais entrer dans une cellule donnée une date, qui est en fait une borne inférieure, et pour ne pas avoir à entrer le signe > à chaque fois, je voudrais que l'on ait à taper seulement la date au format jj/mm/aa, mais que la cellule contienne en fait après validation de cette entrée : >jj/mm/aa

Merci à qui voudra bien m'indiquer le code VBA pour arriver à ce résultat.

Bonne journée à tous.

Olivier
 

Discussions similaires

Statistiques des forums

Discussions
314 562
Messages
2 110 729
Membres
110 909
dernier inscrit
François19