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

bassreflex -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
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 !

4 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. Raymond PENTIER Messages postés 58218 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    Bonjour.

    Il n'y a pas de solution pour ta demande.
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      Ca roule?

      Y a une solution en convertissant les nombres en texte voir code post <1>
      0
  3. Raymond PENTIER Messages postés 58218 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    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
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
  4. Raymond PENTIER Messages postés 58218 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    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
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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