Macro compter et trier cellule

Cereal -  
Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je souhaiterai qualifier un fichier de codes postaux, pour en extraire le nombre de codes postaux identiques.

par exemple j'ai x 34000 + x 34200 le tout en vrac,
et j'aimerai qu'une macro ou une formule tri le tout en me disant
vous avez x 34000 + x 34200

merci d'avance!!

2 réponses

  1. Utilisateur anonyme
     
    Bonjour,

    Je comprends qu'il faut calculer le nombre de codes postaux différents.
    Pour ça, il y a la fonction sous.total : par Données / Sous.total en demandant le nombre dans le menu. Les données doivent être triées auparavant.

    Pour associer les deux, passer par l'enregistreur de macro avec un raccourci clavier.
    Pour les mises à jour, supprimer le sous.total par le menu Données/sous.total et rappeler le raccourci clavier pour avoir les totaux.

    Argitxu
    0
    1. Cereal
       
      merci de votre réponse, mais n'étant pas expert je n'ai pas tout compris à ce que vous avez dit :/
      0
    2. Utilisateur anonyme
       
      Bonjour Cereal,

      D'accord, mais qu'est-ce que tu n'as pas compris ? Je te redis différemment.
      Tu veux trier et calculer le nombre de codes postaux identiques.
      Pour cela, ton tableau doit avoir une ligne d'entête et ne doit pas avoir de lignes vides.

      => Pour trier : d'abord, tu te positionnes sur n'importe quelle cellule de la colonne des codes postaux, sans rien sélectionner, et tu fais (avec version 2003) : Données / trier / vérifies que la bonne colonne remonte dans le 1er tri / OK
      (Avec 2007, onglet Accueil / groupe édition / Trier)

      => Puis, pour compter le nombre de code postaux identiques : fais Données / sous.total (valable pour les deux versions). Dans le menu
      - A chaque changement : tu pointes les codes
      - Utiliser la fonction : choisis nombre
      - Ajouter un sous-total : choisis code
      - OK
      Tu auras le nombre de codes postaux identiques.
      Là peux pas faire plus clair ! :)
      Essaye déjà ça.
      0
  2. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   958
     
    Salut le forum

    Tes codes postaux de A2:Ax, les résutalts en C2:Dx

    Le code à mettre dans un module VBA

    Sub Nbre_Uniques() 
    Dim MonDico 
    Dim C As Range 
      Set MonDico = CreateObject("Scripting.Dictionary") 
      For Each C In Range([A2], [A65000].End(xlUp)) 
        MonDico.Item(C.Value) = MonDico.Item(C.Value) + 1 
      Next C 
      [C2].Resize(MonDico.Count, 1) = Application.Transpose(MonDico.keys) 
      [D2].Resize(MonDico.Count, 1) = Application.Transpose(MonDico.items) 
    End Sub 
    


    Mytå
    Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
    0