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 avec une listbox [XL-2000]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 618
    Par défaut Problème avec une listbox
    Bonjour,

    Je souhaite alimenter une listbox depuis une feuille excel en fonction du nom saisi dans un textbox.
    Dans ma feuille qui me sert de source de données, j'ai 11 colonnes. Le filtre s'effectue sur la colonne 8.
    J'ai codé:
    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
    24
    If Nom.Value = "" Then
          MsgBox ("Veuillez saisir une lettre.")      
       Else
          Worksheets(2).Activate
     
          Listecpt.RowSource = "" '
     
          Listecpt.ColumnCount = 11
          Listecpt.ColumnWidths = "15;15;25;20;30;20;15;200;100;30;30"
     
          For lig = 1 To Range("A65536").End(xlUp).Row
     
            If Mid(Cells(lig, 8), 1, Len(Nom.Value)) = Nom.Value Then        
     
            ' Ajoute une ligne et insère une donnée dans la colonne de gauche
                 Listecpt.AddItem Cells(lig, 1).Value
     
                 For col = 2 To 11:               
                     Listecpt.List(Listecpt.ListCount - 1, col) = Cells(lig,col).Value                
                 Next col
             End If
          Next lig
     
          Worksheets(1).Activate
    J'ai un problème lorsque col = 10 avec un message "Impossible de lire la propriété list. Argument non valide.

    D'autre part, la largeur des colonnes n'est pas fixe comme je le souhaite. Y a t-il une propriété de la listbox à modifier ?

    Merci d'avance.
    Julien.

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

    Les colonnes sont numérotées de 0 à 10, car tu as 11 colonnes.

    Philippe

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 618
    Par défaut
    Citation Envoyé par Philippe JOCHMANS Voir le message
    Bonjour

    Les colonnes sont numérotées de 0 à 10, car tu as 11 colonnes.

    Philippe
    Bonjour,

    Je n'ai pas de problème lorsque je supprime une colonne sur ma listbox. Y aurait-il une prise en compte d'un nombre de colonne à 10 maximum si une information n'est pas renseignée ?

    Merci d'avance.
    Julien.

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    L'aide sur la propriété ColumCount dit ceci :
    Pour une source de données indépendante, il y a une limite de 10 colonnes (0 à 9).
    Source de données indépendante = introduction des données une à une via la méthode AddItem.

    Pour éviter cette limitation, il faut d'abord introduire tes données dans un tableau et ensuite transférer ce tableau dans la ListBox

    Exemple :
    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
    Sub test()
    Dim Tablo(1 To 20, 1 To 15) As String '<-- tableau de 20 lignes sur 15 colonnes
    Dim i As Byte, j As Byte
     
    Sheets(1).ListBox1.ColumnCount = 20
     
    For i = 1 To 20
        For j = 1 To 15
            Tablo(i, j) = i & j
        Next
    Next
     
    Sheets(1).ListBox1.List = Tablo
     
    End Sub

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 618
    Par défaut
    Merci beaucoup.

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

Discussions similaires

  1. [XL-2007] Problème avec une listbox
    Par sarah-geek dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/08/2012, 12h54
  2. Problème avec une listbox
    Par sheep_one dans le forum Windows
    Réponses: 7
    Dernier message: 22/04/2010, 09h51
  3. Problème avec un Listbox utilsant une WebMethod
    Par Jayeff_land dans le forum ASP.NET
    Réponses: 2
    Dernier message: 13/02/2009, 14h25
  4. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29
  5. Problème avec une procédure stockée
    Par in dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/05/2003, 15h33

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