1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

code vba pour faire un tri et supprimer doublons

Discussion dans 'Forum Excel' démarrée par moutchec, 5 Février 2019.

  1. moutchec

    moutchec XLDnaute Occasionnel

    Inscrit depuis le :
    23 Septembre 2012
    Messages :
    276
    "J'aime" reçus :
    1
    Utilise:
    Excel 2010 (PC)
    bonjour le forum,
    bonjour à tous,
    je cherche un code VBA (à activer à partir d'un bouton) pour dresser une liste exhaustive d'articles.
    1/il s'agit de copier la feuille SORTIES qui part des colonnes A à Q sur la feuille DONNEES.
    2/une fois la copie faite, supprimer les colonnes de A à G + J et K.
    3/faire un tri du plus petit au plus grand à partir de la colonne H
    4/supprimer les lignes complètes des doublons des articles qui sont en colonne H
    si possible en gardant la mise en forme source.
    NB : la feuille SORTIES ne doit pas être modifiée.
    merci d'avance pour votre aide experte.
    cordialement.
    Moutchec.
     

    Pièces jointes:

  2. Chargement...

    Discussions similaires - code vba tri Forum Date
    VBA - Remplacer une formule matricielle par un code Forum Excel 19 Décembre 2015
    XL 2003 (Resolu) Code vba pour créer des espaces entre nom, prénom, matricule Forum Excel 21 Novembre 2015
    Code VBA pour trier Une Combobox Forum Excel 29 Octobre 2015
    CODE VBA pour tri avancés sur EXCEL 2010 (Sous Citrix) Forum Excel 21 Octobre 2015
    Attribuer code vba sur un autre fichier Forum Excel 1 Avril 2015

  3. Paf

    Paf XLDnaute Barbatruc

    Inscrit depuis le :
    1 Octobre 2012
    Messages :
    2971
    "J'aime" reçus :
    170
    Utilise:
    Excel 2003 (PC)
    Bonjour,

    un essai :
    Code (Visual Basic):
    ListeA()
    Dim T, TT(1 To 7), i As Long, j As Byte
    Dim WS As Worksheet, WD As Worksheet, Dico
    Set WS = Worksheets("SORTIES")
    Set WD = Worksheets("DONNEES")
    Set Dico = CreateObject("Scripting.Dictionary")

    T = WS.Range("H1:Q" & WS.Range("H" & Rows.Count).End(xlUp).Row)
    For i = LBound(T, 1) To UBound(T, 1)
      If Not Dico.Exists(T(i, 1)) Then
      TT(1) = T(i, 2)
      For j = 2 To 7
      TT(j) = T(i, j + 3)
      Next
      Dico(T(i, 1)) = TT
      End If
    Next
    WD.Range("A1").Resize(Dico.Count, 1) = Application.Transpose(Dico.keys)
    WD.Range("B1").Resize(Dico.Count, 7) = Application.Transpose(Application.Transpose(Dico.items))
    WD.UsedRange.Sort Key1:=WD.Range("A2"), Order1:=xlAscending, Header:=xlGuess
    End Sub  
    A+
     
    Dernière édition: 8 Février 2019

Partager cette page