Code VBA pour changer la taille de la police en fonction d'un texte
Exemple avec test dans la cellule C14 et modification en E14 si modification dans la zone " plage_modif "
A mettre dans le module de la feuille concernée et créer une plage de cellules nommée " plage_modif "
* * * CODE ci-dessous * * *
Private Sub Worksheet_Change(ByVal Target As Range)
'Plage de modification correspondant à une zone " plage_modif " de la feuille de calcul
'si une modification est faite dans la zone " plage_modif alors la police de caractère est
'modifiée en $E$14 en fonction de la valeur $C$14
On Error GoTo Erreurs ' gestion des erreurs : s'il y a une erreur, il faut remettre en service
'le contrôle des événements
'---------------Ci-dessous option pour voir la valeur à tester----------------
' --------------ces lignes peuvent être supprimées---------------
' ci-dessous, juste un message pour afficher la valeur de $C$14 si une modification
' est faite dans la zone plage_modif
If Not Intersect(Target, Range("plage_modif")) Is Nothing Then
momo = MsgBox("Le contenu de la cellule $C$14 a pour valeur : " & Range("$C$14").Value, vbInformation, "Valeur qu'il faut tester, sur modification d'une cellule, dans la zonne plage_modif")
End If
'------------------Fin de la zone optionnelle-------------
'
'ci-dessous code utile à réaliser la fonction
'dans le cas où la valeur à tester est issue d'une formule il faut passer
'par une variable intermédiaire, ici " valeur_a_tester "
'
If Not Intersect(Target, Range("plage_modif")) Is Nothing Then
Application.EnableEvents = False ' inhibition du contrôle des événement le temps de traitements du test
' test
valeur_a_tester = Range("$C$14").Value
If valeur_a_tester = "Paris" Then
Range("E14").Font.Size = 10
ElseIf valeur_a_tester = "Marseille" Then
Range("E14").Font.Size = 12
ElseIf valeur_a_tester = "Toulouse" Then
Range("E14").Font.Size = 14
ElseIf valeur_a_tester = "Bordeaux" Then
Range("E14").Font.Size = 16
ElseIf valeur_a_tester = "Montpellier" Then
Range("E14").Font.Size = 18
ElseIf valeur_a_tester = "Paris" Then
Range("E14").Font.Size = 120
End If
End If
Application.EnableEvents = True ' remise en service du contrôle des événements
'
Erreurs:
If Err <> 0 Then Application.EnableEvents = True ' remise en service du contrôle des événements en cas d'erreur
End Sub