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

Macros et VBA Excel Discussion :

supprimer doublons ordre inverse


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut supprimer doublons ordre inverse
    Bonjour et merci d'avance
    à l'aide d'un code je remplie automatiquement ce tableau
    Nom : Capture.PNG
Affichages : 506
Taille : 7,2 Ko
    puis avec un code enregisré à l'aide de l'enregistreur auto je supprime les doublons sur ce tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub SupDoublons()
    'Supprimer doublons
    Dim derlig As Long
    derlig = Sheets("ANALYSE").Range("A65536").End(xlUp).Row
        Sheets("ANALYSE").Range("A1 : D" & derlig).RemoveDuplicates Columns:=Array(1, 2), _
            Header:=xlYes
    ce code supprime les nouvelles valeurs et moi je cherche à supprimer les anciens doublons et conserver les nouvelles valeurs
    merci bq et bonne journée

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu dois disposer d'une colonne permettant d'inverser l'ordre (temporel) de tes lignes (par exemple une colonne avec la date d'intégration de la ligne dans ta BDD, un identifiant qui s'incrémente à chaque ajout de ligne, ou quelque chose de la même veine).

    ainsi, tu peux effectuer un tri inverse de ta plage, et ensuite utiliser RemoveDuplicates.


    si rien ne permet d'inverser la présentation de tes entrées, il est probable que tu sois obligé de faire le nettoyage par une boucle (aidé d'un dictionnaire ou d'une collection par exemple).

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    merci pour la réponse si rapide
    votre solution : "un identifiant qui s'incrémente à chaque ajout de ligne"
    puis je fais l'ordre décroissant puis je supprime les doublons
    mais vu que chui limité en VBA je sais pas comment insérer ce identifiant
    un coup de main de votre part est souhaitable
    et merci d'avance

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Voici un exemple :

    Ajout d'une colonne supplémentaire ayant pour en-tête "ID"
    Numérote chaque ligne en commençant par 1 (puis 2, puis 3 etc...)
    Effectue un tri décroissant sur cette colonne


    reste à faire :

    - la suppression des doublons
    - la suppression (si besoin) de cette colonne


    je te laisse adapter

    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
    Sub toto()
    Dim NbLig As Long
    Dim NbCol As Long
     
     
    With Sheets("ANALYSES")
        NbLig = .UsedRange.Rows.Count - 1
        Col = .UsedRange.Columns.Count + 1
     
        .Cells(1, Col).Value = "ID"
        With .Cells(2, Col)
            .Value = 1
            .AutoFill .Resize(NbLig, 1), xlFillSeries
        End With
     
        .Sort.SortFields.Clear
        .Sort.SortFields.Add Key:=.Cells(2, Col).Resize(NbLig, 1), _
                             SortOn:=xlSortOnValues, _
                             Order:=xlDescending, _
                             DataOption:=xlSortNormal
     
        With .Sort
            .SetRange Sheets("ANALYSES").Cells(1, 1).CurrentRegion
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
     
    End Sub

  5. #5
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    ça ajoute le ID
    merci bien
    je vais essayer d'adapter
    bonne journée

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

Discussions similaires

  1. parcourir un fichier dans l'ordre inverse
    Par franc82 dans le forum C++
    Réponses: 11
    Dernier message: 09/02/2007, 14h56
  2. [ListBox] Supprimer doublons
    Par mohamed dans le forum Delphi
    Réponses: 6
    Dernier message: 14/11/2006, 18h00
  3. Supprimer doublons sur 3 colonnes?
    Par pegase33 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/09/2006, 13h55
  4. Valeurs hexa en ordre inverse
    Par Micheal1221 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 26/07/2006, 21h37
  5. [SQL Serveur 2K] Procédure pour Supprimer doublons
    Par Vesta dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 29/05/2006, 12h32

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