Masquer une partie des caractères d'une même cellule

Fermé
bassreflex - 20 févr. 2021 à 05:46
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 21 févr. 2021 à 00:18
Bonjour,

Quel serait le moyen de personnaliser l'affichage d'une cellule pour MASQUER une partie des caractères d'une cellule ? Exemple, ma cellule affiche 202107, je voudrais ne faire apparaitre que les 2 dernier chiffres, soit 07. Je parle bien d'affichage car je souhaite que ma cellule ait pour valeur tous les chiffres quand même. Des idées ?
Merci !
A voir également:

4 réponses

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié le 20 févr. 2021 à 10:05
Bonjour,

Pour une cellule de saisie, ne peut ce faire qu'avec du texte.
Donc code pour faire ce coloriage:

A mettre dans le VBA de la feuille et adaptez la plage de cellule

Private Sub Worksheet_Change(ByVal Target As Range)
    With Application.ErrorCheckingOptions
        .EvaluateToError = False
        .TextDate = False
        .NumberAsText = False
    End With

    If Target.Count > 1 Then Exit Sub
    If Not Application.Intersect(Target, Range("D2:D12")) Is Nothing Then
        With Target
            .NumberFormat = "@"
            NbC = Len(Target)
            If NbC < 3 Then
                .Characters(Start:=1, Length:=NbC).Font.ColorIndex = xlAutomatic
            Else
                Lng = NbC - 1
                .Characters(1, Lng).Font.Color = vbWhite
                .Characters(Start:=Lng, Length:=2).Font.ColorIndex = xlAutomatic
            End If
            .HorizontalAlignment = xlRight
        End With
    End If
End Sub
0
Raymond PENTIER Messages postés 58705 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 octobre 2024 17 220
20 févr. 2021 à 18:33
Bonjour.

Il n'y a pas de solution pour ta demande.
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
20 févr. 2021 à 18:49
Bonjour,

Ca roule?

Y a une solution en convertissant les nombres en texte voir code post <1>
0
Raymond PENTIER Messages postés 58705 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 octobre 2024 17 220
20 févr. 2021 à 23:05
Non !
bassreflex a bien précisé :
"Je parle bien d'affichage car je souhaite que ma cellule ait pour valeur tous les chiffres quand même" ...
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 236
Modifié le 20 févr. 2021 à 23:49
Bonjour,

Pourquoi être péremptoire ?
J'ai bien l'impression que la proposition de f894009 répond à la question.
Excel saura convertir en numérique si besoin. Attendons le demandeur...
eric
0
Raymond PENTIER Messages postés 58705 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 octobre 2024 17 220
20 févr. 2021 à 23:55
Cher ami Eric, je ne suis pas du tout péremptoire : Je rappelle juste le libellé de la demande ...
Il est question de chiffres et de valeur ; c'est donc que la cellule servira à des calculs sur le mois de juillet 2021, et même l'utilisation de CNUM("07") serait source d'erreur !
Cordialement.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 236
Modifié le 21 févr. 2021 à 00:22
Je ne vois pas ce que tu veux dire.
Met A2 au format texte avec 1234 dedans.
Avec
=A2+1
qu'obtiens-tu ?
De même =SOMME(A2:A3) fonctionne

Quant à =CNUM("07") ça me donne 7 sans erreur... Mais pourquoi vouloir l'utiliser alors qu'excel fait ses conversions tout seul comme un grand ?

eric
0