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

Excel Discussion :

Récupérer une liste sans doublons


Sujet :

Excel

  1. #1
    Invité
    Invité(e)
    Par défaut Récupérer une liste sans doublons
    Bonjour,

    J'ai une colonne dont je veux utiliser les valeurs pour une liste déroulante, en utilisant la Validation des Données par Liste.

    Prendre la plage de cellules telle quelle me donne beaucoup de doublons dans la liste déroulante. Je souhaite éliminer ces doublons en utilisant une formule, si possible sans passer par une tierce colonne.

    Merci

  2. #2
    Membre chevronné
    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
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonjour,

    Avec formules, il faut une colonne intermédiaire.

    Jacques Boisgontier
    Fichiers attachés Fichiers attachés

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2013
    Messages : 64
    Points : 56
    Points
    56
    Par défaut
    Salut,
    Tu peux essayer d'utiliser ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    'Pour remplir la liste déroulante : 
    For j = 2 To Range("A1048576").End(xlUp).Row
            ComboBox1 = Range("A" & j)
     
            '...et filtre les doublons
            If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Range("A" & j)
        Next j
    avec j qui parcourt les lignes

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 166
    Points
    10 166
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je n'ai pas regardé les fichiers de Jacques, mais je pense que tu peux te reposer sur un filtre élaboré avec une extraction sans doublons. Cela va peut-être te prendre quelques garde-fous, pour garder la liste à jour, mais tu peux toujours vérifier si cela te convient, ou non. (Ou même laisser faire )

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour et merci pour vos réponses.

    @boisgontierjacques : merci pour la formule en colonne D. Mais elle ne fonctionne pas si la dernière cellule de la plage produit n'est pas vide (cela correspond à la valeur si faux du 2e SI)*. Aussi, en colonne D, on a besoin de connaitre le nombre minimum de valeurs uniques pour étirer la formule de tableau sur suffisamment de cellules : il faudrait par exemple une macro qui étire la formule sur le même nombre de cellules que la plage produit, or je souhaite obtenir mon résultat sans macro. Et sans colonne intermédiaire.

    @RomBon : merci mais j'ai besoin de réaliser la fonction sans VBA.

    @clementmarcotte : merci également pour la suggestion, mais j'aurai toujours besoin d'une colonne intermédiaire et en plus d'une plage de critère pour filtrer les valeurs vides ("").

    * Une alternative à la formule de boisgontierjacques serait (en formule de tableau, en cellule D2, à étirer vers le bas) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    =IFERROR(
    	INDEX(
    		produit,
    		MIN(
    			IF(produit<>"",
    				IF(COUNTIF(D$1:D1,produit)=0,
    					ROW(INDIRECT("1:"&ROWS(produit))),
    					ROWS(produit)+1
    				)
    			)
    		)
    	),
    	0
    )

  6. #6
    Membre chevronné
    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
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonjour,

    Différentes solutions

    Jacques Boisgontier
    Fichiers attachés Fichiers attachés

  7. #7
    Invité
    Invité(e)
    Par défaut
    Merci pour toutes ces idées. Malheureusement, toujours rien qui permette de se passer d'une colonne intermédiaire ou de VBA...

  8. #8
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Bonjour, bonjour,

    un peu de lecture : La gestion des doublons dans Excel

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour Marc-L et merci pour ce lien.
    La rubrique susceptible de m'intéresser (III-D. Alimenter des listes de validation sans doublon) propose un lien vers un classeur démo que j'ai tenté en vain de télécharger plusieurs fois. Quelqu'un l'aurait en copie sur sa machine ?
    Merci

  10. #10
    Membre chevronné
    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
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonsoir,

    >Malheureusement, toujours rien qui permette de se passer d'une colonne intermédiaire ou de VBA...

    Parce que ça n'existe pas!

    Jacques Boisgontier

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    468
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 468
    Points : 744
    Points
    744
    Par défaut
    Bonjour,

    Citation Envoyé par kéraunos Voir le message
    Merci pour toutes ces idées. Malheureusement, toujours rien qui permette de se passer d'une colonne intermédiaire ou de VBA...
    Si.
    Utiliser Calc (OpenOffice ou LibreOffice) : On obtient une liste déroulante sans doublon, sans cellules vides et triée par ordre alphabétique avec une simple case à cocher dans le dialogue Données > Validité.
    Images attachées Images attachées  

  12. #12
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par boisgontierjacques Voir le message
    Bonjour,

    Différentes solutions

    Jacques Boisgontier
    Trop fort Jacques!
    On sent de suite la maîtrise.....
    En VBA ça va, je me débrouille, mais dès qu'il s'agit de calcul matriciel...

    En attendant, merci pour les exemples, je vais pouvoir mettre en application sans tarder!

Discussions similaires

  1. Renseigner une liste sans doublon dans une feuille ou dans un userform
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 26/01/2009, 15h54
  2. Comment gérer une liste sans doublons ?
    Par olibara dans le forum C#
    Réponses: 3
    Dernier message: 17/05/2008, 13h24
  3. Comment remplir une liste déroulante avec une macro sans doublons
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/06/2007, 19h34
  4. Récupérer valeurs d'une colonne sans doublons
    Par paflolo dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 17/10/2006, 15h19
  5. Réponses: 3
    Dernier message: 24/04/2006, 20h56

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