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 :

Application.Countifs valeur unique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 63
    Par défaut Application.Countifs valeur unique
    Bonjour,

    j'ai développé pour mon entreprise une macros VBA qui me permet de compter les valeurs unique d' une plage passé en paramètre suite à l'application d'un filtre.
    Or l'application de filtre est lourd est prend beaucoup de temps et ma question est la suivantes :

    Existe-t-il une fonction VBA du style :"application.countifs.Unique" afin de retourner directement ce nombre.

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    Affiche ton code, peut etre y a des chose à améliorer car selon les experts de ce super site la méthode la plus rapide et plus conseillée est la méthode de filtre
    une méthode avec boucle qui va consommer plus de temps à tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub compterSansDoublons()
    Dim unique As New Collection
    Dim i As Integer
    On Error Resume Next
    Application.ScreenUpdating = False
    For Each cel In Range("A2:A" & [A65000].End(xlUp).Row)
    If Cells(cel.Row, 1) <> "" Then
        unique.Add cel.Value, CStr(cel.Value)
        End If
    Next cel
     
    MsgBox unique.Count
     
    End Sub
    BONNE CONTINUATION

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    bonjour

    encore une question a double sens qui en meme temps n'en a pas

    en fait tout depends de ce que tu cherche

    valeur unique ca veux dire quoi pour toi????????

    des valeurs qui n'existent qu'une seule fois dans la plage??????

    ou

    des valeurs dont les doublons sont exeptés?????

    ca n'est pas la meme chose

    dans le cas de doublons exeptés le code de bennnasr peut convenir

    dans le cas de valeur existante et unique ca ne convient pas
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 63
    Par défaut
    Bonjour,

    Justement j'utilise cet même fonction.
    Mon problème est que j'utilise beaucoup de filtre dans mon code et le temps d'application d'un filtre est long.
    Donc j'aurai voulu savoir si il y avais une fonction native du VBA afin de remplacer l'utilisation de filtre afin de retourner ce nombre de valeurs Unique.

    @Patricktoulon : pour moi le nombre de valeurs unique, c'est dans le cas ou les doublons sont exeptés.

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    @Patricktoulon : pour moi le nombre de valeurs unique, c'est dans le cas ou les doublons sont exeptés.

    dans ce cas on parle d'extraction unique(sans doublons) pas de valeurs uniques
    et oui il y a une methode simple et rapide
    copie le sheets sur une autre feuille(ajoutée pour l'ocasion si necessaire
    et dans ce nouveau sheet un removeduplicate sur la colonne de ton choix
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Nul besoin de VBA pour effectuer ce calcul.
    A lire Comment compter le nombre de valeurs distinctes dans une colonne d’excel
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 63
    Par défaut
    Bonsoir,

    Je veux en VBA connaitre le nombre de valeurs unique d'une colonne après avoir appliqué un filtré sur d'autres colonne mais sans utiliser Autofilter.

Discussions similaires

  1. Problème avec application.run([VALEURS.UNIQUES],"plage",1)
    Par gregyard@hotmail.com dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/01/2008, 11h31
  2. Extraire les 20 dernières valeurs uniquement
    Par bob75000 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 19/07/2006, 14h17
  3. [VBA-E] Selection de valeur uniquement
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/05/2006, 23h28
  4. [vb.net][datatable] retrouver extraire des valeur unique
    Par arnolem dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/01/2006, 10h33
  5. Réponses: 2
    Dernier message: 23/11/2003, 18h44

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