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 :

Combobox sans doublon


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Combobox sans doublon
    Bonjour,

    Quand j'utilise le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Cell1 As Range
        'Supprime les données existantes dans le ComboBox
        Me.ComboBox2.Clear
    d = 0
        'Boucle sur les cellules de la plage L2:L9232 pour
        'alimenter le ComboBox
    For Each Cell1 In Worksheets("Feuil1").Range("a2:a11")
            Me.ComboBox2 = Cell1
            'remplissage sans doublon
            If Me.ComboBox2.ListIndex = -1 Then _
                Me.ComboBox2.AddItem Cell1
        Next Cell1
    Le programme boucle vers le Sub Combobox1_Click dans les cas suivants :
    Ma colonne contient :
    -Pedalier
    -Pedalier
    -Berceau
    -Pedalier
    Au passage de Berceau à Pédalier, j'ai une boucle.
    Cela me pose problème car du coup, j'ai mes actions qui devraient ne s'exécuter qu'au moment du clic utilisateur qui s'exécutent à l'initialisation de la UserForm.

    Que pouvez vous me conseiller pour éviter cette boucle "parasite" ?

    Merci d'avance.

  2. #2
    Membre averti Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Points : 391
    Points
    391
    Par défaut
    J ai pas bien compri alors je vais te proposé deux choses:

    1ere: tu fais ta routine dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
     
    End Sub
    si tu veux que sa se fasse pour 2 clic


    2 eme : si tu veux que ta boucle se fasse a initialisation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    private sub Userform_Initialize
    end sub
    tom

    "Barbar : The rest of the warrior"

    Into the wild....

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Une autre proposition :
    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 Waitt As Boolean
    Private Sub ComboBox2_Change()
    If Waitt Then Exit Sub
    MsgBox "coucou"
    End Sub
     
    Private Sub UserForm_Initialize()
    Dim Cell1 As Range
        'Supprime les données existantes dans le ComboBox
        Me.ComboBox2.Clear
        d = 0
        'Boucle sur les cellules de la plage L2:L9232 pour
        'alimenter le ComboBox
        For Each Cell1 In Worksheets("Feuil1").Range("a2:a75")
            Waitt = True
            Me.ComboBox2 = Cell1
            'remplissage sans doublon
            If Me.ComboBox2.ListIndex = -1 Then _
                Me.ComboBox2.AddItem Cell1
        Next Cell1
        Me.ComboBox2 = ""
        Waitt = false
    End Sub
    Dommage que tu n'aies pas mis le nom des sub, on ne sait pas où on est
    A+

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Oui, désolé j'avais oublié.

    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 UserForm1_Initialize()
    Dim Cell1 As Range
        'Supprime les données existantes dans le ComboBox
        Me.ComboBox2.Clear
    d = 0
        'Boucle sur les cellules de la plage L2:L9232 pour
        'alimenter le ComboBox
    For Each Cell1 In Worksheets("Feuil1").Range("a2:a11")
            Me.ComboBox2 = Cell1
            'remplissage sans doublon
            If Me.ComboBox2.ListIndex = -1 Then _
                Me.ComboBox2.AddItem Cell1
        Next Cell1
    End Sub
    Mais je vais essayer ta solution Ouskel, merci. Je vous dis où j'en suis.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    C'est ok, ca marche nickel !

    Merci bcp pour ta rapidité. (et ta bonne idée)

    A bientot.

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

Discussions similaires

  1. Combobox sans doublons
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/03/2016, 14h30
  2. [XL-2007] Erreur dans un combobox sans doublons
    Par formabox dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/04/2012, 20h49
  3. [XL-2003] ComboBox Sans Doublon: ça ne marche jamais
    Par Otmanes dans le forum Excel
    Réponses: 2
    Dernier message: 14/07/2009, 11h53
  4. Remplissage de combobox sans doublon
    Par Shadow5 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 15/04/2008, 20h06
  5. combobox sans doublon (colonne de reference avec cellule vide)
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/04/2008, 17h08

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