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 :

Tri dans une liste excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Par défaut Tri dans une liste excel
    Bonjour tout le monde.
    Voila je suis tres novice en VBA sous excel et j'aurais besoin de votre aide s'il vous plait.

    Voila j'ai une feuille excel contenant plus de 500 avec plusieur ellement qui ce repete.
    Je voudrais faire une tri en supprimant les doublons tous en comptant le nombre de ligne qu'il y avais de cette catégorie.
    Pour le moment j'arrive a faire le tri ma pas a comptabilisé.
    Exemple
    fichier origine
    GENERAL -
    GENERAL -
    GENERAL APPLI - CENTRALE/-
    GENERAL APPLI - CENTRALE/-
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CTU
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CTU
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CTU
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CTU
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CTU
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CTU
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CTU
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CTU
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/CTU
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/SL
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/SL
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/SL
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/SL
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/SL
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/SL
    GENERAL APPLI - CENTRALE/ACTEUR STRUCTURE/SL


    je voudrais obtenir
    -
    APPLI - CENTRALE/-
    APPLI - CENTRALE/ACTEUR STRUCTURE/CST
    APPLI - CENTRALE/ACTEUR STRUCTURE/CTU


    Avec le nombre de ligne qu'il y a pour chaque catégorie.

    Code que j'ai deja
    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
    Sub Tri()
    ' Variable
    ligne = 1
    valeur = ""
    calcul = 1
    nombre = 1
     
    ' Tri
    While Range("A" & ligne).Value <> ""
     
        If Range("B" & ligne).Value <> valeur Then
            valeur = Range("B" & ligne).Value
                Sheets("Feuil2").Range("A" & calcul) = valeur
                calcul = calcul + 1
                nombre = 1
     
          Else
          nombre = nombre + 1
     
          'Sheets("Feuil2").Range("B" & calcul) = Sheets("Feuil2").Range("B" & calcul) + 1
     
     
     
       End If
            ligne = ligne + 1
     
    Wend
    MsgBox "Fin du traitement"
    End Sub
    Merci pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    1. Comment sont encolonnées les données ?
    2. où met-on le nombre de lignes de chaque catégorie ?

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2003
    Messages : 9
    Par défaut
    Bonjour,

    tu veux absolument une macro ? une simple extraction sans doublon (ou supprimer les doublons selon ta version Excel) suffirait à mon avis.

  4. #4
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Par défaut
    Oui dsl je ne vous est pas mis le nom des colonnes.
    en faite je fait un tri de la feuil1 copie sur la feuil2

    Resultat souhaité

    Colonne A --> Nom de l'appli
    Colonne B --> Nombre de ligne pour chaque appli

    Le fichier d'origine est

    Colonne A --> typologie (gene/local)
    Colonne B --> Nom de l'appli
    Colonne C --> description

    Merci de votre aide.

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonsoir,

    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
    Sub test()
        Dim Plage As Range, Plage2 As Range, C As Range
        With Sheets("Feuil1")
            .Rows("1:1").Insert
            .Range("B1") = "c2"
            .Range("C1") = "c3"
            Set Plage = .Range(.[B1], .Cells(.Rows.Count, 3).End(xlUp))
            Plage.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
            Plage.Copy Sheets("Feuil2").[A1]
            Application.CutCopyMode = False
            .ShowAllData
        End With
        With Sheets("Feuil2")
            .[A:B].EntireColumn.AutoFit
            .Rows(1).Delete
            Set Plage2 = .Range(.[A1], .Cells(.Rows.Count, 1).End(xlUp))
        End With
        With Sheets("Feuil1")
            For Each C In Plage2
                .AutoFilterMode = False
                Plage.AutoFilter 1, C
                Plage.AutoFilter 2, C.Offset(, 1)
                Sheets("Feuil2").Cells(C.Row, 3).Value = Application.Subtotal(103, .[B:B]) - 1
            Next C
        End With
    End Sub

Discussions similaires

  1. Récupération de données en SQL et tri dans une liste
    Par skurty dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 25/03/2010, 00h55
  2. Faire un tri dans une liste
    Par patmar83 dans le forum IHM
    Réponses: 5
    Dernier message: 17/12/2009, 09h37
  3. [DisplayTag] Tri dans une liste paginée
    Par guntzerp dans le forum Taglibs
    Réponses: 4
    Dernier message: 15/09/2009, 18h03
  4. tri dans une liste déroulante
    Par paolo2002 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 27/02/2008, 13h45

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