OVH Cloud OVH Cloud

Nombre et couleurs des caractère f(position)

2 réponses
Avatar
Domi
Bonsoir à tous,

Dans une cellule, je voudrais saisir une ref composée de 16 caractères
alphanumériques.
1°) Est-il possible avec ou sans VBA de donner une couleur différentes aux
caractères en fonction de leurs positions respectives.

Exemple :
1ere caractère : noir
2eme : bleu
3 eme : vert
de 4 à 7 rouge
8eme Saumon
de 9 à 11 : Jaune
et de 12 à 16 orange

2°) Accessoirement est-il possible en cours de saisie d'empêcher la saisie
de plus de 16 caractères ? Je sais le faire avec la validation mais cela
n'empêche pas la saisie en cours, après seulement.

Merci
Domi

2 réponses

Avatar
LeSteph
Bonsoir Domi,
Dans le code de la feuille:
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target = Mid(Target, 1, 16)
With Target
.Characters(1, 1).Font.ColorIndex = 1
.Characters(2, 1).Font.ColorIndex = 5
.Characters(3, 1).Font.ColorIndex = 10
.Characters(4, 3).Font.ColorIndex = 3
.Characters(8, 1).Font.ColorIndex = 22
.Characters(9, 11).Font.ColorIndex = 27
.Characters(12, 16).Font.ColorIndex = 46
End With
Application.EnableEvents = True
End Sub
'*****
'lSteph
"Domi" a écrit dans le message de news:
eo$
Bonsoir à tous,

Dans une cellule, je voudrais saisir une ref composée de 16 caractères
alphanumériques.
1°) Est-il possible avec ou sans VBA de donner une couleur différentes aux
caractères en fonction de leurs positions respectives.

Exemple :
1ere caractère : noir
2eme : bleu
3 eme : vert
de 4 à 7 rouge
8eme Saumon
de 9 à 11 : Jaune
et de 12 à 16 orange

2°) Accessoirement est-il possible en cours de saisie d'empêcher la saisie
de plus de 16 caractères ? Je sais le faire avec la validation mais cela
n'empêche pas la saisie en cours, après seulement.

Merci
Domi





Avatar
LeSteph
'oupps
'just tit rectif sur positin couleurs
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target = Mid(Target, 1, 16)
With Target
.Characters(1, 1).Font.ColorIndex = 1
.Characters(2, 1).Font.ColorIndex = 5
.Characters(3, 1).Font.ColorIndex = 10
.Characters(4, 4).Font.ColorIndex = 3
.Characters(8, 1).Font.ColorIndex = 22
.Characters(9, 3).Font.ColorIndex = 27
.Characters(12, 5).Font.ColorIndex = 46
End With
Application.EnableEvents = True
End Sub
'lSteph
"Domi" a écrit dans le message de news:
eo$
Bonsoir à tous,

Dans une cellule, je voudrais saisir une ref composée de 16 caractères
alphanumériques.
1°) Est-il possible avec ou sans VBA de donner une couleur différentes aux
caractères en fonction de leurs positions respectives.

Exemple :
1ere caractère : noir
2eme : bleu
3 eme : vert
de 4 à 7 rouge
8eme Saumon
de 9 à 11 : Jaune
et de 12 à 16 orange

2°) Accessoirement est-il possible en cours de saisie d'empêcher la saisie
de plus de 16 caractères ? Je sais le faire avec la validation mais cela
n'empêche pas la saisie en cours, après seulement.

Merci
Domi