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 :

remplir une list box dans un formulaire


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut remplir une list box dans un formulaire
    salut !!

    encore des petits sourci voila je sais quil ya pas mal de tutoriel jen ai lu pas mal et le probleme subsiste toujour !!

    je veux remplir ma listBOX ( access 2003, userForm)
    voila ce que je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Me.ListBox2.ColumnHeads = True
    Me.ListBox2.ColumnWidths = "100;100"
    Me.ListBox2.ColumnCount = 2
     
    Do While Not ListBox2.TabIndex = EOF
     
    Me.ListBox2.AddItem "item 1", 0
    Me.ListBox2.AddItem "item 2", 1
    sa me remplie seulement la 1er colone alors que jen ai 2 et je lui ai demander de majouter un nouvel item dans lindex 2 avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ListBox2.AddItem "item 2", 1
    merci pour vos precieuse reponses !!!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Re

    Tu y tiens vraiment a-t-on userform.

    Bon dans ton cas il faut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.ListBox2.List(0, 1) = 1
    regarde l'aide Excel pour avoir les informations.

    Dans l'avenir va sur le forum Excel pour poser ce type de questions, ils ont plus l'habitude de travailler sur les composants de l'userform.

    C'est bête que tu ne veuilles pas utiliser les formulaires Access, tu verras que tu y perdras.

    Starec

  3. #3
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut
    voici l'erreur de cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ListBox2.List(0, 1) = 1
    Impossible de définir la propriété List . Index de table de proprité non valide
    que faire ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pourtant cela fonctionne pour une listbox forms2.0 des userforms excel.

    La solution : Utilises les formulaires Access et ses composants (surtout si dans l'avenir tu veux alimenter tes listes avec du SQL).

    Starec

  5. #5
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut
    c'est tout de meme étrange de ne pas puvoir le faire sur Access !!

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 631
    Points : 34 339
    Points
    34 339
    Par défaut
    Lorsque tu ajoutes des valeurs dans une listbox, sur la même ligne, je te conseille cette méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Me.MaListBox.ColumnCount = 4
    Me.MaListBox.Additem "ceci"
    Me.MaListBox.List(Me.MaListBox.ListCount -1,1) = "est"
    Me.MaListBox.List(Me.MaListBox.ListCount -1,2) = "un"
    Me.MaListBox.List(Me.MaListBox.ListCount -1,3) = "exemple"
    Me.MaListBox.Additem "et"
    Me.MaListBox.List(Me.MaListBox.ListCount -1,1) = "ceci en est"
    Me.MaListBox.List(Me.MaListBox.ListCount -1,2) = "un"
    Me.MaListBox.List(Me.MaListBox.ListCount -1,3) = "aussi"

  7. #7
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut
    c'est génial !!
    merci sa marche !! jai un bon debut il me reste plus qua savoir les manipuler corectement !!

    merci !!!!

    dis moi jpcheck pour parcourir ma listeBox du coup je fais comment ??
    quesce qui represente les ligne et quesce qui représente les colonnne ?

    car jaimerais charger dans ma Liste box les données de ma table.

    Je fais comment ?

    ta solution est pratique seulement si nous avon que peut de donnée nan ?

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 631
    Points : 34 339
    Points
    34 339
    Par défaut
    tu peux avoir ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    dim StrSQL as String
    dim RS as DAO.RecordSet
    strSQL = "SELECT Champs1, Champs2, Champs3 AS Alias1 FROM MaTable ORDER BY Champs1;"
    set RS = CurrentDb.Openrecordset (strSQL)
    Do Until RS.EOF
    Me.MaListBox.Additem RS!Champs1
    Me.MaListBox.List(Me.MaListBox.ListCount -1,1) = RS!Champs2
    Me.MaListBox.List(Me.MaListBox.ListCount -1,2) = RS!Alias1
    RS.MoveNext
    Loop

  9. #9
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut
    je viens de tester ce que tu as dis et sa marche impécable !!
    je lai adapter a ce que je sais faire je te montre le code !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim rs As New ADODB.Recordset
    rs.Open "SELECT * FROM Gamme", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
     
    Do While Not rs.EOF
    Me.ListBox3.AddItem rs.Fields![IdGamme]
    Me.ListBox3.List(Me.ListBox3.ListCount - 1, 1) = rs.Fields![IntituléGamme]
    rs.MoveNext
     
    Loop
    je pense que c'est la meme chose que ce que tu as ecris !

    merci beaucoup car sa fais 5 jours que jété bloqué a cherché sur les forum..

  10. #10
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 631
    Points : 34 339
    Points
    34 339
    Par défaut
    oui oui c'est bien ça

  11. #11
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut
    cool !!
    et donc le jour ou je voudrai parcourir ma list box pour recherché un element a lintérieur je peux faire sa ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim variableRecherché As String
    variableRecherché = "intitulé"
    For cpt = 0 To 3
        If (Me.ListBox3.List(Me.ListBox3.ListCount - 1, cpt) = variableRecherché) Then
            MsgBox ("j'ai trouvé")
        End If
    Next
    mais visiblement sa ne me parcour pas ma liste box comme je voudrais

  12. #12
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut
    je viens de trouver la reponse on sais jamais sa peut servir a quelqun d'autre, mais par contre je ne serais pas expliquer le pourquoi du comment !! lol

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim variableRecherché As String
    variableRecherché = "intitulé"
    For cpt = 0 To 3
        If (Me.ListBox3.List(1, cpt) = variableRecherché) Then
            MsgBox ("j'ai trouvé")
        End If
    Next

  13. #13
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 631
    Points : 34 339
    Points
    34 339
    Par défaut
    là tu parcours seulement la première ligne de ta listbox, il faut un autre compteur si tu veux passer sur toutes les lignes de la listbox, mais sinon oui c'est bon !

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/12/2012, 09h08
  2. Réponses: 2
    Dernier message: 24/08/2011, 06h47
  3. [MySQL] Renseigner une liste déroulante dans un formulaire en faisant une jointure.
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 16/10/2006, 10h12
  4. Réponses: 5
    Dernier message: 27/08/2006, 14h18

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