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 :

Comment éviter les doublons dans une ComboBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Comment éviter les doublons dans une ComboBox
    Bonjour à tous,

    Dans un formulaire (FrmOp), j'ai une ComboBox (Cb2) qui s'alimente avec les données ci-dessous provenant de la colonne A de la feuille "Données".
    Comme vous pouvez le constater, il y a des doublons dans la colonne et c'est normal, par contre je souhaiterai que dans ma ComboBox (Cb2) n'apparaisse qu'une seule fois chaque élément. Quel est le code pour cela ?
    Précision : On ne peut ajouter aucune données à partir de la ComboBox.
    Je vous remercie par avance
    ACEA
    Aide Classe Environnement
    Aide Classe Environnement
    Allocation
    Allocation
    Allocation
    Allocation
    Allocation
    Allocation

  2. #2
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour zandru,

    J'ai fait ce code, mais la ComboBox reste vide
    Quel est le problème ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Cb2_Initialize()
    Dim Cell As Range
    'Supprime les données existantes dans le ComboBox
    FrmOp.Cb2.Clear
    'Boucle sur les cellules de la plage A1:A70 pour
    'alimenter le ComboBox
    For Each Cell In Sheets("Données").Range("A1:A70")
        FrmOp.Cb2 = Cell
        'remplissage sans doublon
        If FrmOp.Cb2.ListIndex = -1 Then
            FrmOp.Cb2.AddItem Cell
    Next Cell
    End Sub

  4. #4
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut
    A première vue je ne vois pas.

    essai comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Cb2_Initialize()
    'Supprime les données existantes dans le ComboBox
    FrmOp.Cb2.Clear
    'Boucle sur les cellules de la plage A1:A70 pour
    'alimenter le ComboBox
    For lig=1 to 70
        FrmOp.Cb2 = Sheets("Données").cells(i,1)
        'remplissage sans doublon
        If FrmOp.Cb2.ListIndex = -1 Then
            FrmOp.Cb2.AddItem (Sheets("Données").cells(i,1))
        Endif
    Next
    End Sub
    C'est plus simple.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Non ça ne marche pas non plus, la Combo reste vide.
    J'ai mis ce code dans le formulaire au niveau de la Combo

  6. #6
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Il n'y a pas d'évènement Initialize Pour une liste de choix. Mais il y en a un pour le userform. Il y a aussi Activate.
    Tu n'es même pas obligé d'utiliser un évènement...
    A toi de voir. Ce qui est sûr c'est qu'il faut exécuter les lignes de codes.

    PGZ

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème pour éviter les doublons dans une table
    Par bonnet85 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/02/2008, 04h35
  2. [vbexcel]Comment supprimer les doublons dans une combobox?
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 24/11/2005, 11h12
  3. Comment éviter les doublons dans ma table
    Par einegel dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/11/2004, 12h18
  4. Éviter les doublons dans une requete
    Par royrremi dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 03/08/2004, 19h37

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