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 :

Fonctions Tri() et Unique()


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut Fonctions Tri() et Unique()
    Bonjour,

    Sur la dernière version d'Excel, des fonctions TRI() et UNIQUE() sont apparues.
    Voici pour un formulaire une fonction perso qui supprime les doublons sur une ou plusieurs colonnes et donne un résultat trié.

    Code dans le formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub UserForm_Initialize()
      Me.ListBox1.List = UniqueTriéTbl(Range("mabd").Value, 3)
      Me.ListBox2.List = UniqueTriéTbl(Range("mabd[ville]").Value, 1)
      Me.ListBox3.List = UniqueTriéTbl(Range("mabd[[nom]:[prénom]]").Value)
    End Sub
    Boisgontier
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour Jacques.

    Edit : Tu ne devrais pas utiliser le format .xls (Excel 2003 et avant), pour cet exemple (il ne fonctionne pas avec ces versions). L'exemple ne fonctionne pas mais la fonction est utilisable avec les versions <2007
    Les tableaux structurés n'existent que depuis Excel 2007 et le format .xlsm.

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonjour,

    Fonction FiltreBD() 2 critères pour formulaire.


    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
    Dim colVisu()
    Option Compare Text
    Private Sub UserForm_Initialize()
      colVisu = Array(1, 2, 3, 4, 5, 6, 7, 8)
      Me.ComboBox1.List = UniqueTriéTbl([mabd[produit]])
      Me.ComboBox1.AddItem ""
      Me.ComboBox2.List = UniqueTriéTbl([mabd[opération]])
      Me.ComboBox2.AddItem ""
      filtre
      EnTeteListBox
    End Sub
     
    Private Sub ComboBox1_click()
      filtre
    End Sub
     
    Private Sub ComboBox2_click()
      Me.ListBox1.List = FiltreBD([mabd].Value, 1, Me.ComboBox1, colVisu, 2, Me.ComboBox2)
    End Sub
     
    Sub filtre()
      Me.ListBox1.List = FiltreBD([mabd].Value, 1, Me.ComboBox1, colVisu, 2, Me.ComboBox2)
     End Sub
    Nom : Sans titre.png
Affichages : 1802
Taille : 13,6 Ko

    Boisgontier
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 591
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 591
    Par défaut
    Bonjour
    Citation Envoyé par Patrice740 Voir le message
    Tu ne devrais pas utiliser le format .xls (Excel 2003 et avant), pour cet exemple (il ne fonctionne pas avec ces versions).
    Les tableaux structurés n'existent que depuis Excel 2007 et le format .xlsm.
    Non, XLSX si pas de code VBA

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonsoir,


    >Tu ne devrais pas utiliser le format .xls (Excel 2003 et avant)



    Ce fichier contient une fonction UniqueTrié() réutilisable sous Excel <2007.

    Ce n'est pas parce qu'il y a un exemple avec un tableau structuré que cette fonction n'est pas utilisable sans tableau structuré.

    J'ai chez moi Excel 2002,Excel 2007,Excel 2010 et Excel 2019.


    Boisgontier

  6. #6
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Merci pour ces fonctions et l exemple 😉
    Tu es vraiment un puit de science.
    Et zou dans mon module xltools spécial table et range

Discussions similaires

  1. aide fonction tri heapsort (création du tas)
    Par Invité dans le forum C
    Réponses: 6
    Dernier message: 24/11/2009, 01h27
  2. Rech Fonction tri : String contenant lettre+chiffres[VB6]
    Par t'djinn dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 10/07/2006, 20h08
  3. Menus : fonction "tri" non disponible sur un autre PC
    Par niavlys77 dans le forum Access
    Réponses: 1
    Dernier message: 02/05/2006, 20h39
  4. help fonction tri bubble sort
    Par Invité dans le forum C
    Réponses: 10
    Dernier message: 22/12/2005, 21h54

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