Faire apparaître un symbole en tapant une lettre

Résolu/Fermé
D277 Messages postés 34 Date d'inscription lundi 7 avril 2014 Statut Membre Dernière intervention 30 avril 2015 - 28 mai 2014 à 18:18
D277 Messages postés 34 Date d'inscription lundi 7 avril 2014 Statut Membre Dernière intervention 30 avril 2015 - 28 mai 2014 à 19:35
Bonjour à tous,


Voilà mon problème : il faudrait que dans une seule colonne, lorsque je tape :
- un O majuscule, j'obtienne un rond vert.
- un C ou X majuscule, j'obtienne une croix rouge.
- un D majuscule, j'obtienne un Delta majuscule orange.

J'ai tout d'abord chercher à régler le problème à l'aide du VBA mais sans succès. Je me suis donc penché sur les fonctions d'Excel et en particulier la fonction Choisir et Substitue.
Mais je ne sais pas vraiment si cela peut m'aider.

Merci pour votre aide.

Bonne soirée

D277



2 réponses

via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
Modifié par via55 le 28/05/2014 à 19:14
Bonjour

Essaie cette macro, à adapter à tes besoins (à mettre dans le worksheet de la feuille désirée):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "O" Then
Cells(Target.Row, Target.Column).FormulaR1C1 = "·"
With Cells(Target.Row, Target.Column).Font
.Name = "Symbol"
.FontStyle = "Normal"
.Size = 12
.Color = -11489280
End With

End If
If Target.Value = "C" Or Target.Value = "X" Then

Cells(Target.Row, Target.Column).FormulaR1C1 = "Ë"
With Cells(Target.Row, Target.Column).Font
.Name = "Wingdings 2"
.FontStyle = "Normal"
.Size = 12
.Color = -16776961
End With
End If
If Target.Value = "D" Then
Cells(Target.Row, Target.Column).FormulaR1C1 = "D"
With Cells(Target.Row, Target.Column).Font
.Name = "Symbol"
.FontStyle = "Normal"
.Size = 12
.Color = -16727809
End With
End If
End Sub

Cdlmnt

"L'imagination est plus importante que le savoir." A. Einstein
0
D277 Messages postés 34 Date d'inscription lundi 7 avril 2014 Statut Membre Dernière intervention 30 avril 2015
28 mai 2014 à 19:35
J'ai trouvé !!

Je suis vraiment bête de pas y avoir penser plus tôt. A chercher trop compliqué...
Après avoir appliqué la police "Symbol" pour obtenir les caractères grecs sur ma colonne, j'ai créé une mise en forme conditionnelle :

Si la valeur de la cellule est égale à O --> Couleur de la police verte

Si la valeur de la cellule est égale à C (oui c'est pas X car en grec, le X correspond à la lettre "Khi" attribué à la lettre C) --> Couleur de police rouge.

Si la valeur de la cellule est égale à D --> Couleur de la police orange.

Et ça marche nickel.

Néanmoins, merci pour ta macro via55, je vais la tester.

D277
0