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 :

Suppression des doublons par une boucle dans une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Points : 16
    Points
    16
    Par défaut
    Bonjour, j'ai des fichiers excel a trier pour ma hierarchie (3 fichiers de 5000 lignes)
    Je dois supprimer des doublons. Je cherches a réaliser une macro (je penses avec une boucle) pour supprimer en automatique ces doublons.
    exemple:

    418160 24/09/2001 00:00:00
    418160 24/09/2001 00:00:00
    418160 24/09/2001 00:00:00
    418185 01/01/1996 00:00:00 23/09/2001 00:00:00
    418185 24/09/2001 00:00:00
    418196 01/01/1997 00:00:00 23/09/2001 00:00:00
    418196 24/09/2001 00:00:00
    418198 01/01/1996 00:00:00 23/09/2001 00:00:00
    418198 24/09/2001 00:00:00

    ce que je dois obtenir en final

    418160 24/09/2001 00:00:00
    418185 24/09/2001 00:00:00
    418196 24/09/2001 00:00:00
    418198 24/09/2001 00:00:00


    le seul impératif est de garder le dernier nombre des doublons et supprimer toujours les doublons du dessus
    et utiliser toujours la première colonne pour la macro
    Avez-vous une macro a me proposer svp

    merci d'avance

    j'ai essayé avec cette boucle mais il me fait le contraire, il me supprime les suivantes au lieu des précedentes.

    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
    Sub supprimeDoublons()
        MaCellule = "A2"
        Range(MaCellule).Select
        ActiveCell.CurrentRegion.Sort Key1:=Range(MaCellule), Order1:=xlAscending, Header:=xlYes
        donnee1 = ActiveCell
        While ActiveCell <> ""
            ActiveCell.Offset(1, 0).Select
            If ActiveCell = donnee1 Then
                ActiveCell.EntireRow.Delete
                ActiveCell.Offset(-1, 0).Select
                donnee1 = ActiveCell
            Else
                donnee1 = ActiveCell
            End If
        Wend
    End Sub

  2. #2
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Septembre 2006
    Messages : 108
    Points : 61
    Points
    61
    Par défaut
    bonjour,

    Si j'ai bien compris ce que tu voulais faire voici la solution:
    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
    Private Sub supprimeDoublons()
        MaCellule = "A2"
        Range(MaCellule).Select
        ActiveCell.CurrentRegion.Sort Key1:=Range(MaCellule), Order1:=xlAscending, Header:=xlYes
        donnee1 = ActiveCell
        While ActiveCell <> ""
            ActiveCell.Offset(1, 0).Select
            If ActiveCell = donnee1 Then
                ActiveCell.Offset(-1, 0).Select
                ActiveCell.EntireRow.Delete
                donnee1 = ActiveCell
            Else
                donnee1 = ActiveCell
            End If
        Wend
    End Sub
    Redis moi en cas de problème...

    seba_stien

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Points : 16
    Points
    16
    Par défaut MERCI !!!
    IMPECCABLE !!
    Merci encore
    (en fait je suis trop nul, en ayant vu la modif)

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

Discussions similaires

  1. Utilisation d'une boucle dans une boucle
    Par caramon _majere dans le forum Langage
    Réponses: 5
    Dernier message: 27/09/2014, 22h37
  2. [XL-2003] faire une boucle dans une boucle VBA
    Par the-geut dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/04/2010, 16h06
  3. [PHP 5.0] Manipulation XML une boucle dans une boucle
    Par lepotier dans le forum Langage
    Réponses: 2
    Dernier message: 10/03/2010, 13h15
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 11h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 14h48

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