mise en forme conditionnelle

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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.
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
231
Réponses
2
Affichages
492
Réponses
6
Affichages
527
Retour