Comment mettre en couleur une forme libre sous conditions?

Bonjour à tous,

Dans le cadre d'un projet pro, j'aurais besoin de faire de la carto. L'objectif est de faire une représentation actuelle du secteur de chaque technicien de la structure et surtout de faire une réorganisation plus "constructive".

Je pense donc faire une carte des communes du Nord Pas de Calais à partir de formes libres. J'ai déjà une feuille excel avec, commune par commune, le technicien affecté. Or je n'arrive pas à mettre en couleur mes formes libres. En effet, les MFC ne sont pas prises en compte dans les formes libres et je ne connais pas de formule du genre =si(A2="Jean";couleur verte;....).

Avez-vous une solution?

Merci d'avance

bonjour,

Tu peux essayer ça:

Private Sub Worksheet_Change(ByVal Target As Range) 'procedure mis dans la feuille souhaitée

Application.ScreenUpdating = False 'désactive mise à jour traitement des taches

If Range("a2") = "jean" Then

ActiveSheet.Shapes("Forme libre_jean").Select 'forme libre que tu peux renommer au moment de sa création

Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13 'colorier : ici jaune

Selection.ShapeRange.Fill.Solid

End If

'et tu peux rajouter tes conditions

If Range("a2") <> "jean" Then

ActiveSheet.Shapes("Forme libre_jean").Select 'forme libre que tu peux renommer au moment de sa création

Selection.ShapeRange.Fill.ForeColor.SchemeColor = 53 'colorier : ici rouge

Selection.ShapeRange.Fill.Solid

End If

End Sub

en souhaitant que c'était ta demande

Bonjour, et merci pour de cette réponse rapide.

Plusieurs questions me viennent à l'esprit :

Est-ce que je suis obligé de passer par une macro? En effet, je n'en ai jamais utilisé donc, je ne suis pas certain d'y arriver et de comprendre la modification du code que je dois faire.

Est-ce que, comme je passe par une macro, les formes sont facilement modifiables? (j'ai environ 1000 communes - est-ce que ça veut dire 1000x la macro en entrant a chaque fois les coo?

Merci de votre aide

Re bonjour,

A ma connaissance, il n'est pas possible de mettre une formule dans une forme, de même que l'on ne peux faire de mise en forme conditionnelle?!

Donc, pour moi il faut passer par une macro.

Et pour répondre à ta dernière question : effectivement il va falloir associer un "if" par forme :

Il faut juste que tu recopie X fois çà:

If Range("a2") = "jean"Then

ActiveSheet.Shapes("Forme libre_jean").Select 'forme libre que tu peux renommer au moment de sa création

Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13 'colorier : ici jaune

Selection.ShapeRange.Fill.Solid

End If

en changeant ce qui est souligner.

Une fois la condition 'if" associée à la forme (ici : "Forme libre_jean"), tu peux modifier les formes cela n'a pas d'impact.

Mais peut-être que quelqu'un a une solution plus simple?

Rechercher des sujets similaires à "comment mettre couleur forme libre conditions"