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 :

Combos sans Doublons [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut
    Bonjour à tous
    je vous poste mon classeur dans lequel la feuille consommation contient une combo que je veux remplir à partir de source sans doublons mais la macro ne veux pas s’exécuter alors de l'aide sera le bien venu, Merci à tous

    Mon Classeur
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Par défaut
    Voici ce qui pourrait répondre à ta question :

    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
     
    Sub RempliComboUnik(Plage As Range, QuelCombo As ComboBox)
     
    With QuelCombo
        .Clear
        For Each C In Plage
            .Value = C.Value
            If .ListIndex = -1 Then .AddItem C.Value
        Next C
        .ListIndex = 0
     End With
     
    End Sub
     
    Sub EssaiComboFillUniq()
        RempliComboUnik Sheets("Source").Range("I1:I" & Sheets("Source").Range("I65536").End(xlUp).Row), Worksheets("Consommation Par Véhicule").ComboBox1
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut
    Bonjour Kitty
    Merci pour ta réponse, mais une question je dois placé le code dans ThisWorkBook ou dans la feuille en question pour que la combobox se remplie automatiquement à chaque ouverture du classeur, Merci encore

  4. #4
    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 heu
    bonjour pour remplir un combobox sans doublons il y a une methode tres simple
    l'utilisation d'un object scripting.dictionary(dictionnaire )qui n'acepte pas les doublons
    exemple pour remplir une combobox dans un userform

    si on ne precise pas la feuille sera le premier sheets qui sera pris en compte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub UserForm_Activate()
    ComboBox1.List = liste_sans_doublons("a1:a" & Range("a" & Rows.Count).End(xlUp).Row)
    End Sub
    avec precision du sheets en l'occurence ici "Feuil1"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub UserForm_Activate()
    ComboBox1.List = liste_sans_doublons("a1:a" & Range("a" & Rows.Count).End(xlUp).Row, "Feuil1")
    End Sub
    'cette fonction liste une colonne sans les doublons en prenant en compte rien que la plage spécifiée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Private Function liste_sans_doublons(plage, Optional feuille As Variant = 1)
            Set d = CreateObject("Scripting.Dictionary")
        For Each cel In Sheets(feuille).Range(plage)
            d.Item(cel.Value) = ""
        Next cel
        liste_sans_doublons = d.keys
    End Function
    Au plaisir
    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

  5. #5
    Membre averti
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut
    Bonjour patricktoulon
    Je te remercie pour ta réponse et aussi les explications, je ne suis pas très fort en VB, alors le code je dois le placer sur la feuille 1 ou sur la feuille ThiworkBook
    pour que la combobox se met a jour automatiquement. Pouvez vous me rendre la réponse sur le classeur joint pour que je puisse mieux m’applique, Merci.

  6. #6
    Membre chevronné Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Par défaut
    non il suffit que tu mettes le code de Patrick dans le userform
    regarde le fichier joint, ça te donneras une piste
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. combo sans doublons
    Par atifo dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 02/04/2008, 15h44
  2. remplir un tableau sans doublons ...
    Par ryo-san dans le forum C
    Réponses: 22
    Dernier message: 10/11/2005, 12h43
  3. combo sans combo
    Par foutucode dans le forum ASP
    Réponses: 12
    Dernier message: 12/09/2005, 13h46
  4. [Postgresql] insertion sans doublon
    Par Pwill dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 08/06/2005, 11h37
  5. Comment mettre à jour une ligne sans doublon via déclencheur
    Par fuelcontact dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/08/2004, 15h56

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