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

VBA Access Discussion :

[VBA-A]zone de liste


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Par défaut [VBA-A]zone de liste
    Bonjour à tous,
    une petite question concernant les zones de liste des formulaires de VBA.
    Je souhaiterais remplir la liste de mon formulaire à partir d'élément que je récupère dans une base de données; j'utilise la propriété RowSource de la liste pour insérer un à un mes éléments. Mais si jamais mes éléments sont trop nombreux j'obtiens un message d'erreur : "Erreur d'execution 2176: Le paramètre de cette propriété est trop long". Après vérification il s'est avéré que RowSource était limité à 2048 caractères. Est ce que je me trompe? Existe-t-il une autre technique pour que je puisse insérer tous mes éléments dans la liste?

    Merci d'avance

    Gniark

  2. #2
    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
    Par défaut
    Hello,

    J'ignore si ça va changer quelque chose mais tu peux affecter un tableau à une listbox
    ListBox.list = Letableau

    Mais faut remplir le tableau

    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
     
    Sub UserForm_Initialize()
    Dim MyArray(5, 5), MyArray2(5, 5)
        For i = 0 To 5
            MyArray(i, 0) = i
        Next i
        'Chargez les colonnes 2 et 3 de MyArray
        MyArray(2, 0) = "Zéro"
        MyArray(2, 1) = "Un"
        MyArray(2, 2) = "Deux"
        MyArray(2, 3) = "Trois"
        MyArray(2, 4) = "Quatre"
        MyArray(2, 5) = "Cinq"
        MyArray2(1, 0) = "0"
        MyArray2(1, 1) = "1"
        MyArray2(1, 2) = "2"
        MyArray2(1, 3) = "3"
        MyArray2(1, 4) = "4"
        MyArray2(1, 5) = "5"
        'Charge les données dans les contrôles Liste2
        Liste2.List = MyArray
        ComboBox1.List() = MyArray
    Bon week-end

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par gniark
    j'utilise la propriété RowSource de la liste pour insérer un à un mes éléments.
    Tu peux nous montrer le code qui fait ça?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    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
    Par défaut
    Citation Envoyé par Tu
    pour insérer un à un mes éléments
    Citation Envoyé par AlainTech
    Tu peux nous montrer le code qui fait ça?
    +1

    Tu ne confondrais pas avec additem ?

    A+

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Par défaut
    Voici le code utilisé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Me.MaListe.RowSource=""
    For l_iI = 0 To l_iNbMaxValeurs
        Me.MaListe.RowSource = Me.ListeArticlesSBO.RowSource _
                               & l_iMaReference(l_iI) & ";" _
                               & l_sMaDescription(l_iI) & ";"
    Next
    Avec l_iMaReference un tableau d'entiers et l_sMaDescription un tableau de chaines de caractères. Dans mon formulaire la liste contient deux colonnes.

    Pour rappel je travaille en vba et non en vb donc la propriété addItem n'existe pas pour les listes.

    Merci d'avance

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par gniark
    Pour rappel je travaille en vba et non en vb donc la propriété addItem n'existe pas pour les listes.
    Tiens, c'est nouveau, ça???
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  7. #7
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Par défaut
    Je travaille sous VBA 2000 et pour les zones de liste je n'ai pas accès à la méthode addItem.

Discussions similaires

  1. [VBA-Access] Zone de liste : problème de séléction
    Par ushiwa.sasuke dans le forum VBA Access
    Réponses: 10
    Dernier message: 04/07/2007, 13h57
  2. [VBA-E] zone de liste avec Validation
    Par lucarno dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/04/2007, 13h23
  3. Réponses: 13
    Dernier message: 27/06/2006, 11h20
  4. [VBA-A] Changer largeur colonne zone de liste
    Par hacksi dans le forum VBA Access
    Réponses: 5
    Dernier message: 02/06/2006, 10h20
  5. [VBA-A]Pb av les zones de listes "vides"
    Par eultartuffe dans le forum VBA Access
    Réponses: 2
    Dernier message: 31/05/2006, 11h12

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