Mise en forme conditionnelle sur la taille de la police

rcan7412

XLDnaute Occasionnel
Bonjour,

Je souhaite réaliser l'opération suivante :

J'ai une liste de validation de donnée en A1.
En fonction de la valeur choisie dans la liste de validation, je souhaite formater une autre case (par exemple B7) avec une taille de police.

Par exemple si le contenu choisi de A1 égale le contenu de B2, la case B7 aura une police de 8
Et si le contenu choisi de A1 égale le contenu de B3, la case B7 aura une police de 12.

Je ne sais pas si c'est clair ?

En utilisant la fonction intégrée dans exel de mise en forme conditionnelle, on n'a pas accès à la taille de la police.

Merci pour votre réponse.

RC
 

DoubleZero

XLDnaute Barbatruc
Re : Mise en forme conditionnelle sur la taille de la police

Bonjour, rcan7412, le Forum,

Une suggestion avec le fichier joint.

A bientôt :)

PS : Bonjour + bises à JCGL :D
 

Pièces jointes

  • 00 - rcan7412 - Format conditionnel sur police.xlsm
    14 KB · Affichages: 362
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Mise en forme conditionnelle sur la taille de la police

Bonjour à tous,

Je pense qu'un bout de code VBA peut y arriver.
Merci de joindre un bout de fichier si cela ne correspond pas :

VB:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        If Cells(1, 1) = Cells(2, 2) Then Cells(7, 2).Font.Size = 8
        If Cells(1, 1) = Cells(3, 2) Then Cells(7, 2).Font.Size = 12
    End If
End Sub


A + à tous

Edition : Ravi de te croiser 00. Bises ++
 
Dernière édition:

rcan7412

XLDnaute Occasionnel
Re : Mise en forme conditionnelle sur la taille de la police

Merci à doublezéro et JCGL pour vos réponses.

Je suis parti de l'exemple de doublezéro.

Mon application utilise des noms pour les cellules, et je n'arrive pas à faire contionner le code ?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("TYPEDOC").Value = Range("FV").Value Then Range("CONDIDOC").Font.Size = 6
If Range("TYPEDOC").Value = Range("DE").Value Then Range("CONDIDOC").Font.Size = 12
If Range("TYPEDOC").Value = Range("NC").Value Then Range("CONDIDOC").Font.Size = 6
End Sub

TYPEDOC est la cellule fusionnée B13:F13 de la feuille "Document"
FV est la cellule F2 de la feuille "Table"
DE est la cellule F3 de la feuille "Table"
NC est la cellule F4 de la feuille "Table"
CONDIDOC est la cellule fusionnée B56:V62 de la feuille "Document"

En fait pour clarifier l'application, j'utilise des zones nommées plutôt que les adresses "A1" mais comme je ne suis pas un habitué du code VBA, je ne vois pas ce qui cloche ?

Avez-vous une explication ?

Le message d'erreur : "erreur d'éxécution 1004 - La méthode 'Range de l'objet_Worksheet' a échoué

Merci d'avance
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Mise en forme conditionnelle sur la taille de la police

Bonjour à tous,

Ceci à l'air de fonctionner :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B13") = Sheets("Table").Range("F2") Then Range("B56").Font.Size = 6
If Range("B13") = Sheets("Table").Range("F3") Then Range("B56").Font.Size = 12
If Range("B13") = Sheets("Table").Range("F4") Then Range("B56").Font.Size = 6
End Sub

A + à tous
 
Dernière édition:

rcan7412

XLDnaute Occasionnel
Re : Mise en forme conditionnelle sur la taille de la police

Merci JCGL,

Effectivement, le code fonctionne sans problème. Merci beaucoup pour l'aide.

Dois-je comprendre qu'il n'est pas possible d'utiliser les zones (cellules) nommées dans excel telles quelles dans le code VBA ? Il serait indispensable d'utiliser les références colonnes, lignes ?