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 :

VBA: supprimer doublon sous condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 2
    Par défaut VBA: supprimer doublon sous condition
    Bonjour à tous,
    Je cherche à créer une macro qui me permettrait d'identifier les doublons sur l'identifiant (colonne A) et si doublon il y a de supprimer:
    - la ligne qui a la note la plus basse (colonne B),
    si les deux lignes ont la même note de supprimer une des deux lignes.
    Merci pour votre aide.
    En pj un extract du fichier!
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé Avatar de MlNOU
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 47
    Par défaut
    Bonjour,

    Ce genre de question a deja été posé à de nombreuses reprises, je pense qu'une petite recherche s'impose et si tu as toujours besoin d'aide les autres membres et moi même nous ferons un plaisir de t'aider.


    Cordialement MlNOU.

  3. #3

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    toutefois, il serait bien de connaître la version d'Excel et de savoir
    si l'ordre des données peut être modifiée ou s'il doit rester tel quel ?

  5. #5
    Candidat au Club
    Inscrit en
    Juillet 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 2
    Par défaut
    j'ai déjà chercher...mais pas trouver dans le forum..je vais reregarder.
    Oui effectivement on peut trier les données (j'avais essayer de trier sur l'identifiant pour repérer les doublons entre i et i-1) mais ma macro n'avait pas marché
    merci pour votre aide

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Après avoir trié ton classeur par identifiant et en supposant que ce soit sur la feuille 1 et que la première ligne soient des entêtes et tes données ne soient pas espacées...

    Code malpropre mais qui marche:

    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 toto()
    Dim i As Long
    With Feuil1
        For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row
            If .Cells(i, 1) = .Cells(i + 1, 1) And .Cells(i, 1) <> "" Then
                If .Cells(i, 2) > .Cells(i + 1, 2) Then
                    .Cells(i + 1, 1).EntireRow.Delete
                    i = i - 1
                Else
                    .Cells(i, 1).EntireRow.Delete
                    i = i - 1
                End If
            End If
        Next i
    End With
    End Sub

  7. #7
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Vincent, voici mon code qui trie puis ne conserve que la meilleure note :
    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
    Sub GardeMeilleureNote()
        If Application.CountA(Columns(2)) > 1 Then
            Application.ScreenUpdating = False
            N& = [B1].End(xlDown).Row
     
            Range("A1:B" & N).Sort [A1], xlAscending, [B1], Order2:=xlDescending, _
                                   Header:=xlYes, DataOption1:=xlSortTextAsNumbers
     
            For R = N To 3 Step -1
                If Cells(R, 1) = Cells(R - 1, 1) Then Rows(R).Delete
            Next
     
            Application.ScreenUpdating = True
        End If
    End Sub

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …


    __________________________________________________________________________________________
    Un scientifique lira des centaines de livres au cours de sa vie, mais sera toujours persuadé qu'il lui reste beaucoup à apprendre.
    Un religieux n'en lira qu'un et sera persuadé d'avoir tout compris …


Discussions similaires

  1. Supprimer doublons (suivant conditions)
    Par natus dans le forum Requêtes
    Réponses: 1
    Dernier message: 28/03/2012, 17h03
  2. Supprimer lignes sous condition
    Par andrea0 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/05/2011, 09h52
  3. Repérer les doublons sous condition
    Par arckeo72 dans le forum Excel
    Réponses: 3
    Dernier message: 24/12/2010, 09h59
  4. supprimer lignes sous conditions
    Par mehdi.017 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/04/2010, 02h42
  5. macro vba identifier cellule sous condition
    Par yanacrux dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/03/2009, 14h00

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