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 :

élimination de lignes en double [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Par défaut élimination de lignes en double
    Bonjour à tous.

    Mon petit problème est le suivant : soit une champ dans une feuille de clacul excel. Dans ce champ, il y a des lignes en double ou plus et des lignes simples. Il n'y a pas de ligne vide ; la champ est déjà trié

    Je souhaite ne conserver que les lignes simples. Le problème est légèrement différent de celui de l'élimination des doublons. Je précise :


    Avant traitement :


    AAA
    AAA
    AAA
    BBB
    BBB
    CCC
    DDD
    EEE
    EEE
    FFF

    Ce que je souhaite avoir, après traitement :

    CCC
    DDD
    FFF

    Alors que la simple élimination des doublons me donnerait :

    AAA
    BBB
    CCC
    DDD
    EEE
    FFF

    Comment puis-je faire cela en visual basic excel ?

    Version excel : excel 2003 - windows xp r3 - le champ à triter peut contenir 15000 lignes.

    Merci par avance de vos éventuelles réponses.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut nzamata et le forum
    Moi, je procéderais en deux temps :
    - repérer les doublons et mettre un X dans une colonne à droite
    - supprimer (en partant de la dernière et en remontant) toutes les lignes ayant un X
    A+

  3. #3
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour dans ce cas il te suffit de rajouter une variable pour vérifier si la ligne a fait partie d'un doublon et la supprimer le cas eché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
    Dim i As Long, DerniereLigne As Long
    Dim flag As Boolean
    DerniereLigne = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row
    flag = False
    For i = DerniereLigne To 2 Step -1
        If Cells(i - 1, 1) = Cells(i, 1) Then
            flag = True
            Rows(i).Delete
        ElseIf flag Then
            Rows(i).Delete
            flag = False
        End If
    Next i
    If flag Then Rows(1).Delete
    Je travail sur la colonne A sans entête
    Si tu as des entête dans la boucle tu doit t'arrêter a 3 et non 2 et a la fin ce nest pas la ligne 1 mais la 2 que tu supprime

    Edit Bonjour Gorfael, j'ai mis trois plomb a écrire le code et j'ai oublié de rafraichir . Le coup des X est pratique mais l'algo moins amusant

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Par défaut Merci
    Excellent. Testé ce code qui donne satisfaction. Merci infiniment.

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

Discussions similaires

  1. Supprimer des lignes en double.
    Par Empty_body dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/06/2007, 14h45
  2. [MySql] Une ligne en double
    Par philippef dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/11/2006, 23h58
  3. Éliminer les lignes blanches dans un tableau
    Par DenPro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/11/2004, 01h27
  4. Supprimer ligne en double
    Par azman0101 dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/06/2004, 17h53
  5. Lignes en double dans le résultat d'une jointure
    Par ledevelopeur dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/06/2004, 18h10

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