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 :

Problème de remplissage d'un ComboBox [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de yobor
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2016
    Messages : 26
    Par défaut Problème de remplissage d'un ComboBox
    Bonjour les amis ,
    J'ai un problème en VBA, j'ai besoin de remplir un combobox à partir des données Uniques et triées d'une colonne, cette colonne contienne des valeurs numérique et des valeurs (texte) , après une petite recherche, j'ai trouvé un code VBA, mais je n'ai pas réussi à l'adapter à ma situation, à chaque fois que j'exécute, il m'affiche une erreur "incompatibilité du type" au niveau de l'instruction,voici mon code :
    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
     
       Dim Tablo
       Dim AL As Object
       Dim i As Long
     
       'Met les noms en mémoire dans un tableau
       Tablo = Worksheets("Curve").Cells(3).CurrentRegion.Columns(28).Value
     
       'Crée un objet de type ArrayList
       Set AL = CreateObject("System.Collections.ArrayList")
       With AL
          For i = 2 To UBound(Tablo, 1)
             If Not .contains(Tablo(i, 1)) Then .Add Tablo(i, 1) 'ajout au ArrayList
          Next i
          .Sort    'Tri alphabétique
          Me.ComboBox1.List = .toarray 'envoie la liste dans le combobox
       End With
    Alors que j'ai besoin de remplir le ComboBox1 à partir de la colonne 28 dans une feuille Worksheets("Curve") ,le nom de la colonne se trouve dans Cells(3,28) et les valeurs commence à partir de Cells(4,28) .
    Merci d'avance.

  2. #2
    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
    bonjour
    je comprends pas bien ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Tablo = Worksheets("Curve").Cells(3).CurrentRegion.Columns(28).Value
    tu veux que la colonne 28 et a partir de la ligne 2 c'est ca ?
    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

  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
    la syntaxe!!!! "toarray()"
    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 test()
        Dim Tablo, AL As Object, i#
        'Met les noms en mémoire dans un tableau
        Tablo = Worksheets("Curve").Cells(1, 28).CurrentRegion.Columns(28).Value
        'Crée un objet de type ArrayList
        With CreateObject("System.Collections.ArrayList")
            For i = 2 To UBound(Tablo, 1)
                If Not .contains(Tablo(i, 1)) Then .Add Tablo(i, 1)    'ajout au ArrayList
            Next i
            .Sort    'Tri alphabétique
            'MsgBox Join(.toarray(), vbCrLf)'pour tester si on obtient la liste
            Me.ComboBox1.List = .toarray()    'envoie la liste dans le combobox
        End With
    End Sub
    attention "Me" représente le parent de la combobox
    donc soit c'est dans un userform et le code doit être dans le module du userform
    soit la combo est dans un sheets alors le code doit être dans le module du sheets
    sinon préciser le nom du parent a la place de "Me"
    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 averti Avatar de yobor
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2016
    Messages : 26
    Par défaut
    Merci Patricktoulon ,le probleme de "incompatibilité du type" est résolu et aussi j'ai fais l'erreur que vous avez indiqué ,au lieu de Userform2 dans lequel existe le combobox ,j'ai fais "Me" .
    Merci Beaucoup .

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

Discussions similaires

  1. [XL-2016] Problème de remplissage de combobox
    Par Solside dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/01/2017, 07h02
  2. Problème de remplissage dans le comboBox
    Par k750_b dans le forum C#
    Réponses: 1
    Dernier message: 26/02/2008, 01h32
  3. [VB6]Problème de rafraichissement d'une combobox
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/01/2006, 16h58
  4. [Tableaux] Problème de remplissage de textarea
    Par Le_tzao dans le forum Langage
    Réponses: 9
    Dernier message: 29/11/2005, 13h41

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