Un exemple pour colorer toutes les zones de texte de la feuille active :
Code:
Sub Test()
Dim o As Object
For Each o In ActiveSheet.DrawingObjects
CouleurPoliceZoneTexte o, 5 'police bleue
Next
End Sub
Sub CouleurPoliceZoneTexte(o As Object, couleur&)
If TypeName(o) = "TextBox" Then o.Font.ColorIndex = couleur
End Sub
Merci mais je voudrais x cellules avec formule pour colorer x zones de texte (police).
ex en A1 si B1=coloris x ZT1 police coloris x
en A2 si B2= coloris y ZT2 police coloris y
etc etc sachant que dans les cellules de la colonne B se trouvent exclusivement des numéros de coloris.
Function CouleurPoliceZoneTexte(nom$, couleur&)
Dim f As Worksheet
Application.Volatile
Set f = Sheets(Application.Caller.Parent.Name)
f.DrawingObjects(nom).Font.ColorIndex = couleur
CouleurPoliceZoneTexte = "OK"
End Function
Merci, on touche au but. Je souhaiterais avoir un panel de couleurs plus important. La palette Excel me propose plus de 16 millions de couleurs or de tels chiffres me donnent #VALEUR en résultat. Sinon c'est exactement ça que je veux.
On peut n'entrer la fonction que dans une seule cellule :
Code:
Function CouleurPoliceZoneTexte()
Dim o As Object
Application.Volatile
For Each o In Application.Caller.Parent.DrawingObjects
o.Font.Color = o.TopLeftCell.Offset(, -1)
Next
CouleurPoliceZoneTexte = "OK"
End Function
Pourrait-on faire la même chose, non plus pour la couleur de la police mais pour la taille ?
rappel code pour couleur utilisé :
Option Explicit
Function CouleurPoliceZoneTexte(nom$, couleur&)
Dim f As Worksheet
Application.Volatile
Set f = Sheets(Application.Caller.Parent.Name)
f.DrawingObjects(nom).Font.Color = couleur
CouleurPoliceZoneTexte = "OK"
End Function
Je vous remercie....
P.S. : il me faudrait également la formule associée