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.
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
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é
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
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 ?