IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Excel 2013 - Comment masquer une partie des données


Sujet :

Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2013
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 305
    Points : 66
    Points
    66
    Par défaut Excel 2013 - Comment masquer une partie des données
    Bonsoir à tous,

    Est ce que quelqu'un peut me dire comment je peux substituer par des "X" une partie des données d'une cellule?

    Exemple : NMLO222252255252GFE222

    Pour avoir : NMLOXXXX2255252GFE222

    Sachant que le nombre de lettre + chiffre peut varier

    Je peux par exemple avoir aussi JUK25658265

    Pour avoir : JUKXXXXX265

    Mais le nombre de X est le même

    Merci par avance pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Votre 1er exemple n'est pas correct si le nombre de X est de 5 comme l'indiquent les deux résultats.

    Bien que vous n'ayez pas mis votre demande dans la partie Macro et VBA, la fonction suivante peut répondre à votre demande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Function SubstituerChiffres(ByVal TexteAModifier As String, ByVal NbX As Integer) As String
     
    Dim I As Integer
    Dim Position1erChiffre As Integer
    Dim ChaineDeSubstitution As String
     
        Application.Volatile
        SubstituerChiffres = ""
        If Len(TexteAModifier) <= NbX Then Exit Function
     
        ChaineDeSubstitution = ""
        For I = 1 To NbX
            ChaineDeSubstitution = ChaineDeSubstitution & "X"
        Next I
     
        For I = 1 To Len(TexteAModifier)
            Select Case Mid(TexteAModifier, I, 1)
                   Case 0 To 9
                        Position1erChiffre = I
                        Exit For
            End Select
        Next I
     
        SubstituerChiffres = Mid(TexteAModifier, 1, Position1erChiffre - 1) & ChaineDeSubstitution & Mid(TexteAModifier, Position1erChiffre + NbX)
     
    End Function
    Cordialement.

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 940
    Points : 28 938
    Points
    28 938
    Billets dans le blog
    53
    Par défaut
    Bonjour Eric,
    Dans ta fonction, tu peux remplacer les lignes 12 à 15 par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ChaineDeSubstitution = String(NbX, "X")

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Dans ta fonction, tu peux remplacer les lignes 12 à 15 par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ChaineDeSubstitution = String(NbX, "X")
    Bonjour Philippe,

    Merci c'est super.

    Cordialement.

  5. #5
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2013
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 305
    Points : 66
    Points
    66
    Par défaut
    Bonsoir,

    Merci beaucoup pour votre retour.

    Et si je voudrai que les "X" n'apparaissent qu'à partir de la 7ième ligne par exemple, quels sont les éléments que je dois modifier dans la macro ou dans la formule pour que ça marche svp?

    Merci par avance pour votre retour

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Mathsdeb Voir le message
    Et si je voudrai que les "X" n'apparaissent qu'à partir de la 7ième ligne par exemple, quels sont les éléments que je dois modifier dans la macro ou dans la formule pour que ça marche svp?
    Bonjour,

    Une solution possible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Function SubstituerChiffres2(ByVal CelluleTexteAModifier As Range, ByVal NbX As Integer, ByVal LigneDebut As Long) As String
     
    Dim I As Integer
    Dim Position1erChiffre As Integer
    Dim ChaineDeSubstitution As String
     
        Application.Volatile
        SubstituerChiffres2 = ""
     
        If Len(CelluleTexteAModifier) <= NbX Or CelluleTexteAModifier.Row < LigneDebut Then Exit Function
     
        ChaineDeSubstitution = String(NbX, "X")
     
        For I = 1 To Len(CelluleTexteAModifier)
            Select Case Mid(CelluleTexteAModifier, I, 1)
                   Case 0 To 9
                        Position1erChiffre = I
                        Exit For
            End Select
        Next I
     
        SubstituerChiffres2 = Mid(CelluleTexteAModifier, 1, Position1erChiffre - 1) & ChaineDeSubstitution & Mid(CelluleTexteAModifier, Position1erChiffre + NbX)
     
    End Function
    Cordialement.

  7. #7
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2013
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 305
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Bonjour,

    Une solution possible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Function SubstituerChiffres2(ByVal CelluleTexteAModifier As Range, ByVal NbX As Integer, ByVal LigneDebut As Long) As String
     
    Dim I As Integer
    Dim Position1erChiffre As Integer
    Dim ChaineDeSubstitution As String
     
        Application.Volatile
        SubstituerChiffres2 = ""
     
        If Len(CelluleTexteAModifier) <= NbX Or CelluleTexteAModifier.Row < LigneDebut Then Exit Function
     
        ChaineDeSubstitution = String(NbX, "X")
     
        For I = 1 To Len(CelluleTexteAModifier)
            Select Case Mid(CelluleTexteAModifier, I, 1)
                   Case 0 To 9
                        Position1erChiffre = I
                        Exit For
            End Select
        Next I
     
        SubstituerChiffres2 = Mid(CelluleTexteAModifier, 1, Position1erChiffre - 1) & ChaineDeSubstitution & Mid(CelluleTexteAModifier, Position1erChiffre + NbX)
     
    End Function
    Cordialement.
    Bonsoir Eric,

    Oups excusez moi mais je me rends compte que je me suis mal exprimée et j'en suis sincèrement désolée.

    En fait je voulais dire "si je voudrai que les "X" n'apparaissent qu'à partir de la 7ième position (et non 7ième ligne) par exemple, quels sont les éléments que je dois modifier dans la macro ou dans la formule pour que ça marche svp?

    de sorte que par exemple pour NMLO222252255252GFE222 j'obtiens le résultat suivant :

    NMLO22XXXXX55252GFE222

    Je ferai en sorte pour la prochaine fois d'être plus clair et encore je suis sincèrement désolée.

    Merci par avance

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Function SubstituerChiffres3(ByVal TexteAModifier As String, ByVal NbX As Integer, ByVal PositionPremierX As Integer) As String
     
    Dim I As Integer
    Dim ChaineDeSubstitution As String
     
        Application.Volatile
        SubstituerChiffres3 = ""
     
        If Len(TexteAModifier) <= NbX Or Len(TexteAModifier) < PositionPremierX + NbX - 1 Then Exit Function
     
        ChaineDeSubstitution = String(NbX, "X")
     
        SubstituerChiffres3 = Mid(TexteAModifier, 1, PositionPremierX - 1) & ChaineDeSubstitution & Mid(TexteAModifier, PositionPremierX + NbX)
     
    End Function
    Cordialement.

  9. #9
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2013
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 305
    Points : 66
    Points
    66
    Par défaut
    Bonsoir Eric,

    Merci infiniment !!!!!!!!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Charger une partie des données
    Par yanis97 dans le forum Hibernate
    Réponses: 4
    Dernier message: 11/11/2006, 18h48
  2. Réponses: 11
    Dernier message: 27/05/2006, 00h07
  3. Exportation d'une partie des données des lignes, ...
    Par Pho dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/06/2005, 10h30
  4. Réponses: 2
    Dernier message: 09/10/2004, 20h45
  5. Exporter seulement une partie des données avec pg_dump ?
    Par Philhz dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 31/07/2004, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo