Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

affichage alternatif d'une cellule

2 réponses
Avatar
Pierre
ce que j'aimerais faire, c'est que le contenu d'une cellule s'affiche,
non pas comme il est saisie mais d'une mani=E8re alternative. je
m'explique: pour des facilit=E9s de saisie, l'utilisateur saisie un code
et le texte affich=E9 =E0 l'ecran correspond =E0 une nomenclature

1 =3D banane
2 =3D orange
etc.

l'utilisateur saisi la valeur num=E9rique mais c'est le texte qui
s'affiche.

oubien l'utilsateur entre n ou N dans la case et c'est non qui
s'affiche.

mais la valeur doit reste inchang=E9e, seul l'affichage change (par
exemple si c'est des notes, on peut continuer =E0 faire une moyenne mais
l'affichage est un mot variant de m=E9diocre =E0 excellent.

est-ce possible ?

d'avance merci
Pierre.

2 réponses

Avatar
Daniel
Bonjour.
Mets cette macro dans le code de ta feuille. Elle se déclenche pour l'entrée
de codes en colonne A. Si la liste est longue ou si elle change souvent, tu
as intérêt à utiliser une plage de ta feuille au lieu de rentrer les valeurs
"en dur" dans la macro :

Cas 1, valeurs dans la macro :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
Application.EnableEvents = False
Select Case Target.Value
Case 1: Target.Value = "banane"
Case 2: Target.Value = "orange"
Case Else: MsgBox "Erreur de saisie"
End Select
Application.EnableEvents = True
End Sub

Cas 2 Utilissation d'une plage de cellules (codes dans la colonne de gauche
et fruits dans la colonne de droite) :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Fruit
If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
Application.EnableEvents = False
Fruit = Application.VLookup(Target, Range("plage"), 2, 0)
If IsError(Fruit) Then
Application.EnableEvents = True
MsgBox "Erreur de saisie"
Exit Sub
End If
Target.Value = Fruit
Application.EnableEvents = True
End Sub

Cordialement.
Daniel

"Pierre" a écrit dans le message de news:

ce que j'aimerais faire, c'est que le contenu d'une cellule s'affiche,
non pas comme il est saisie mais d'une manière alternative. je
m'explique: pour des facilités de saisie, l'utilisateur saisie un code
et le texte affiché à l'ecran correspond à une nomenclature

1 = banane
2 = orange
etc.

l'utilisateur saisi la valeur numérique mais c'est le texte qui
s'affiche.

oubien l'utilsateur entre n ou N dans la case et c'est non qui
s'affiche.

mais la valeur doit reste inchangée, seul l'affichage change (par
exemple si c'est des notes, on peut continuer à faire une moyenne mais
l'affichage est un mot variant de médiocre à excellent.

est-ce possible ?

d'avance merci
Pierre.
Avatar
Pierre
je vais tenter ça, merci

On Feb 7, 8:01 am, "Daniel" wrote:
Bonjour.
Mets cette macro dans le code de ta feuille. Elle se déclenche pour l'e ntrée
de codes en colonne A. Si la liste est longue ou si elle change souvent, tu
as intérêt à utiliser une plage de ta feuille au lieu de rentrer le s valeurs
"en dur" dans la macro :

Cas 1, valeurs dans la macro :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
Application.EnableEvents = False
Select Case Target.Value
Case 1: Target.Value = "banane"
Case 2: Target.Value = "orange"
Case Else: MsgBox "Erreur de saisie"
End Select
Application.EnableEvents = True
End Sub

Cas 2 Utilissation d'une plage de cellules (codes dans la colonne de gauc he
et fruits dans la colonne de droite) :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Fruit
If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
Application.EnableEvents = False
Fruit = Application.VLookup(Target, Range("plage"), 2, 0)
If IsError(Fruit) Then
Application.EnableEvents = True
MsgBox "Erreur de saisie"
Exit Sub
End If
Target.Value = Fruit
Application.EnableEvents = True
End Sub

Cordialement.
Daniel

"Pierre" a écrit dans le message de news:

ce que j'aimerais faire, c'est que le contenu d'une cellule s'affiche,
non pas comme il est saisie mais d'une manière alternative. je
m'explique: pour des facilités de saisie, l'utilisateur saisie un code
et le texte affiché à l'ecran correspond à une nomenclature

1 = banane
2 = orange
etc.

l'utilisateur saisi la valeur numérique mais c'est le texte qui
s'affiche.

oubien l'utilsateur entre n ou N dans la case et c'est non qui
s'affiche.

mais la valeur doit reste inchangée, seul l'affichage change (par
exemple si c'est des notes, on peut continuer à faire une moyenne mais
l'affichage est un mot variant de médiocre à excellent.

est-ce possible ?

d'avance merci
Pierre.