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 :

Suppression valeur en double


Sujet :

Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 109
    Points : 49
    Points
    49
    Par défaut Suppression valeur en double
    Bonjour à tous,

    Comment supprimer une valeur en double ( une valeur double spécifique).

    Exemple j'ai deux cellules, une avec la mention PARISBONDY, une autre avec la mention BONDYPARIS pour moi c'est un doublon et je voudrais en supprimer une mais je sais comment m'y prendre avez-vous une astuce svp ?

    Cordialement,

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

    Je ne pense pas à cette possibilité (sauf si une autre colonne propose dans cette exemple la ville "Paris")
    car c'est de l'anagramme , et dans l'avenir qui sait qu'il n'y aura pas d'autre données qui sont des anagrammes mais non doublons

    Je laisse la main à des experts

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Stéphane_MAN Voir le message
    Bonjour,

    En VBA, à tester :

    Le principe est de balayer les caractères composant une chaine et d'affecter les caractères du numéro 1 au caractère en cours dans une variable ChainePartielle et de mettre le complément de la chaine dans une variable ChaineComplementaire. Il faut ensuite balayer l'aire à tester et regarder si les deux chaines s'y trouvent sans que ce soit la chaîne de départ...

    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
    28
    29
     
     
    Function SensRetour(ByVal AireATester As Range, ByVal Chaine As String) As String
     
    Dim CelluleTest As Range
    Dim ChainePartielle As String, ChaineComplementaire As String
    Dim I As Integer
     
        SensRetour = ""
        For I = Len(Chaine) To 1 Step -1
            ChainePartielle = Mid(Chaine, 1, I)
            ChaineComplementaire = Mid(Chaine, I + 1)
            For Each CelluleTest In AireATester
              If InStr(1, CelluleTest, ChainePartielle, vbTextCompare) > 0 And CelluleTest <> Chaine Then
                If InStr(1, CelluleTest, ChaineComplementaire, vbTextCompare) > 0 Then
                   SensRetour = CelluleTest
                   Exit Function
                End If
              End If
            Next CelluleTest
        Next I
     
    End Function
     
    Sub TestSensRetour()
     
        MsgBox SensRetour(Sheets("Feuil1").Range("A2:A10"), "PARISBONDY")
     
    End Sub
    Dans ce code, on ne teste qu'une fois le cas...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Dans cette solution, ce sont toutes les cellules trouvées qui sont mises en jaune et filtrées à la fin le cas échéant :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    Option Explicit
     
    Private NombreOccurrences As Long
     
    Sub SensRetour(ByVal AireATester As Range, ByVal Chaine As String)
     
    Dim CelluleTest As Range
    Dim ChainePartielle As String, ChaineComplementaire As String
    Dim I As Integer
     
        For I = Len(Chaine) To 1 Step -1
            ChainePartielle = Mid(Chaine, 1, I)
            ChaineComplementaire = Mid(Chaine, I + 1)
            For Each CelluleTest In AireATester
              If InStr(1, CelluleTest, ChainePartielle, vbTextCompare) > 0 And CelluleTest <> Chaine Then
                If InStr(1, CelluleTest, ChaineComplementaire, vbTextCompare) > 0 And Len(CelluleTest) = Len(Chaine) Then
                   CelluleTest.Interior.Color = RGB(255, 255, 0)
                   NombreOccurrences = NombreOccurrences + 1
                End If
              End If
            Next CelluleTest
        Next I
     
    End Sub
     
    Sub TestSensRetour()
     
    Dim AireDuTest As Range, CelluleDuTest As Range
     
        NombreOccurrences = 0
        Set AireDuTest = Sheets("Feuil1").Range("A2:A10")
        With AireDuTest
             .Interior.ColorIndex = xlNone
             For Each CelluleDuTest In AireDuTest
                 SensRetour AireDuTest, CelluleDuTest
             Next CelluleDuTest
     
             If NombreOccurrences > 0 Then
                 .AutoFilter Field:=1, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor
             End If
        End With
     
        Set AireDuTest = Nothing
     
    End Sub

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Stéphane_MAN Voir le message
    Bonjour,

    T'es toujours bloqué en gare de Bondy ?
    Dernière modification par Invité ; 24/08/2017 à 17h55. Motif: Stéphane_MAN ajouté dans mes ignorés

Discussions similaires

  1. [JaVaScRiPt]Suppression valeur liste déourante
    Par zybay dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/05/2007, 11h24
  2. [Débutant - Excel] Suppression valeur mais conservation formule
    Par seiryujay dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/12/2006, 16h54
  3. [JNDI][LDAP] Suppression valeur d'un attribut
    Par nesbla dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 25/08/2006, 11h57
  4. Calcul String (valeur Hexa) -> double puis double -> char *
    Par ben_ghost dans le forum VC++ .NET
    Réponses: 5
    Dernier message: 30/07/2006, 21h04
  5. Jcombobox suppression valeur
    Par lazzeroni dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 12/05/2006, 16h48

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