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 :

Alimentation d'une listbox multicolonne


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut Alimentation d'une listbox multicolonne
    Bonjour à vous...
    J'ai une listbox que je veux alimenter avec les valeurs de plusieurs textbox.
    Chaque Textbox représente une colonne de la listbox en d'autres termes j'ai 9 Textbox donc 9 colonnes dans la listbox.
    Lorsque j'utilise additem le remplissage se fait uniquement que dans la première colonne et les valeurs des 9 Textbox se superposent dans celle-ci( première colonne) or ce n'est pas le but de mon exercice. En fait l'alimentation de la listbox par un tableau déjà présent sur une feuille excel, est déjà assimilée. Mon nouveau défi c'est d' alimenter toutes les colonnes d'une listbox avec les valeurs des Textbox.
    Cette fois-ci j'espère que j'ai été plus clair dans mes explications.
    Merci à tous...

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations forums :
    Inscription : Octobre 2007
    Messages : 215
    Points : 226
    Points
    226
    Par défaut
    Bonjour
    Vérifies la propriété ColumnCount de votre listebox. Elle doit être égale à 9.

  3. #3
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    Merci pour votre réponse. Cette propriété je le sais mais comment transférer le contenu des Textbox dans la listbox en différentes colonne ?

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 761
    Points : 28 619
    Points
    28 619
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il me semble plus simple d'écrire les nouvelles données, modifiées ou crées, provenant des TextBox directement dans la liste (table), correspondante et de recharger le contrôle ListBox après chaque écriture. Cela permet ainsi de gérer les suppressions de lignes.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    Merci M. Philippe
    Pour mieux vous cerner, dois-je d'abord mettre les données des Textbox dans un tableau structuré et les recharger dans la listbox ou bien dans une variable tableau?J'espère que c'est ce dont vous parlez ?

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 761
    Points : 28 619
    Points
    28 619
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Voici un exemple simple comprenant
    • un UserForm nommé usfCRUD
    • un contrôle ListBox nommé lstData
    • un CommandButton nommé cmdConfirm
    • un tableau structuré nommé t_Data


    Dans le module du UserForm
    En tête de module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Option Explicit
    Public DataRange As Range
    dans la procédure événementielle cmdConfirm_Click
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub cmdConfirm_Click()
      ' Confirmation d'écriture
      ' >>> ici appel de la procédure de mise à jour des données après avoir validé l'encodage
      Me.lstData.List = DataRange.Value ' Chargement de la liste
    End Sub
    Dans un module standard
    La procédure nommée Main
    • assigne à la variable publique DataRange du UserForm la plage de données
    • charge la liste des données du tableau structuré dans le contrôle ListBox
    • affiche le UserForm

    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 Main()
      Const ListName As String = "t_Data"
      Dim rng As Range
      Set rng = Range(ListName)
      With usfCRUD
        Set .DataRange = rng
        With .lstData
        .List = rng.Value
        .ColumnCount = rng.Columns.Count
        End With
        .Show ' Affiche le UserForm
        Set .DataRange = Nothing
      End With
      Set rng = Nothing
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    Merci bien pour votre apport. Cette étape que vous venez de me donner, je la maîtrise et je sais le faire.
    Je voudrais savoir s'il était possible de renvoyer les valeurs des Textbox dans une listbox dans différentes colonnes sans passer par un tableau sur la feuille excel.
    Listbox1.Additem ajoute seulement que les valeurs dans une seule colonne de la listbox or mon exercice ici, c'est de remplir toutes les colonnes.
    Exemple : j'ai 5 clients qui ont fait des achats.
    Si j'utilise Additem toutes les données du premier client seront dans la première colonne de la listbox or je voudrais que cela se fasse en ligne.
    Comme ça on pourrait ajouter les autres à la suite des autres.
    J'ai utilisé une boucle mais je n'arrive pas à la faire évoluer en ligne.
    Merci si tu comprends mon inquiétude...😞😞😞

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 761
    Points : 28 619
    Points
    28 619
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Comme je l'ai écris dans ma première réponse, il est plus simple et pour moi plus logique d'écrire dans la ligne concernée de la liste de données et recharger la liste juste après l'écriture comme je l'ai montré dans mon intervention précédente

    Listbox1.Additem ajoute seulement que les valeurs dans une seule colonne de la listbox or mon exercice ici, c'est de remplir toutes les colonnes.
    Faire comme vous le souhaitez c'est se fatiguer pour rien mais vous êtes libre de faire ce que vous voulez. Je ne perd plus mon temps à donner des exemples qui me semble inutile.

    [EDIT]
    Pour ajouter des éléments dans les colonnes, vous devez utiliser la propriété List
    Exemple avec les éléments d'une table. A adapter avec les TextBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      Dim Table()
      Dim ELem As Integer
      Table = Array("R01", "Mon Libellé", "10", "30")
      With Me.lstData
      .AddItem ELem
      .ColumnCount = UBound(Table) + 1
       For ELem = LBound(Table) To UBound(Table)
        .List(.ListCount - 1, ELem) = Table(ELem)
       Next
      End With
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    Merci... Je vais essayer de l'adapter. Je te ferai un retour. Merci infiniment

  10. #10
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    Salut M. Philippe
    Voici le code que j'ai produit lors mon exercice
    Vous pouvez m'en dire plus sur mes erreurs car rien ne s'affiche dans la listbox.
    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
    Private Sub CommandButton1_Click()
    Dim Tabl()
    Dim Ctrl As Control
    Dim i As Byte
    Dim Lst As Integer, Elmt As Integer
     
        i = 4 ' definit la taille du tableau
        ReDim Tabl(i) 'redimensionne le tableau
        For Lst = 0 To UBound(Tabl) 'alimente les éléments du tableau
            For Each Ctrl In Controls
                If TypeName(Ctrl) = "Textbox" Then
                Tabl(Lst) = Ctrl
                End If
            Next Ctrl
        Next Lst
     
        With ListBox1
        .AddItem
        .ColumnCount = UBound(Tabl) + 1
        For Elmt = LBound(Tabl) To UBound(Tabl)
        .List(.ListCount - 1, Elmt) = Tabl(Elmt)
        Next
        End With
    End Sub
    Merci

  11. #11
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    Je Viens de trouver l'erreur. Vu que je n'ai pas mis option compare text donc le nom TextBox ne peut pas fonctionné.
    Maintenant le souci est que le remplissage de la listbox se fait uniquement qu'avec les valeurs de la dernière Textbox( j'ai 4 TextBox sur l'userform). Je ne comprends pas.
    Merci

  12. #12
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 761
    Points : 28 619
    Points
    28 619
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Sauf si un impératif vous empêche de choisir l'option que je vous préconise depuis le début, pourquoi continuer à choisir une autre voie. Vous êtes parti pour des heures de programmation et test alors que je vous propose une solution simple à mettre en place
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  13. #13
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    Loin de vous vexer car vous me proposez un chemin formidable. Je suis en plein exercice pour maîtriser le VBA dans sa totalité. Mon exercice concerne le thème de mon poste. Sinon si vous remarquez, j'ai adapté votre code et ajouter une nouvelle donnée.

  14. #14
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 761
    Points : 28 619
    Points
    28 619
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    On ne me vexe pas parce-que l'on suit pas ce que je préconise

    Je suis en plein exercice pour maîtriser le VBA dans sa totalité
    Cela fait 20 ans que je le pratique et je doute de pouvoir en maîtriser un jour la totalité.
    On peut apprendre une matière en utilisant les chemins les plus courts. C'est cela la maîtrise
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  15. #15
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    Ok... C'est noté. Svp, pouvez vous revoir le code que j'ai posté et m'en dire plus ? Merci pour votre disponibilité.
    " Je m'autodidacte, ce pour quoi je badine un peu''.
    Merci infiniment

  16. #16
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 761
    Points : 28 619
    Points
    28 619
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Votre code contient plusieurs erreurs.
    Boucles mal gérées mais il n'y a évidemment plus de raison d'utiliser une table mais simplement parcourir la collection des contrôles, donc une seule boucle et il faut faire attention à la casse, c'est "TextBox" et pas "Textbox". Pour éviter les problèmes de casse, on peut utiliser la fonction StrComp mais avec TypeName, je ne le fais jamais car je suis sensé connaître cette casse.

    Le code corrigé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      Dim Ctrl As Control
      Dim Elem As Integer, Column As Integer
      With Me.lstData
      .ColumnCount = 4
      .AddItem Elem + 1
       For Each Ctrl In Controls
         If TypeName(Ctrl) = "TextBox" Then
          .List(Elem, Column) = Ctrl.Value: Column = Column + 1
         End If
       Next Ctrl
      End With
      Set Ctrl = Nothing
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  17. #17
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    Ok... j'ai pris note.
    Apprendre seul le VBA n'est pas chose aisée mais je crois que je vais remplir l'essentiel de mon apprentissage car le sommeil aussi est un important.
    Merci infiniment... 🤩🤩

  18. #18
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 761
    Points : 28 619
    Points
    28 619
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Apprendre seul le VBA n'est pas chose aisée
    Apprendre le VBA n'est pas plus difficile que l'apprentissage de la musique, la menuiserie, la mécanique, etc.
    Persévérer ensuite est une question de curiosité, de patience, d'expérience mais avant tout de passion.

    Si je devais me mettre à 'apprentissage du piano et que sur un forum dédié à cette matière, une personne ayant de l'expérience en la matière m'indiquait un autre chemin que celui que je comptais prendre, j'aurais tout de même suivi son conseil.
    Si d'un utilisateur d'excel qui savait à peine faire une somme en 1998, j'en suis arrivé aujourd'hui où j'en suis, c'est parce-que j'ai suivi les conseils de ceux qui en savaient plus que moi et même aujourd'hui, je change dès fois mon fusil d'épaule parce-que j'ai trouvé une meilleure façon d'aborder un problème qui a été proposée par un autre contributeur.

    D'après votre signature, vous êtes instituteur, je suppose que vous voyez ce que je veux dire
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  19. #19
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    J'ai déjà coché résolu.
    En travaillant avec le code modifié, la première ligne de la listbox s'ajoute très bien avec les valeurs des Textbox mais le reste des lignes c'est le chiffre 1 dans la première colonne au fur et à mesure qu'on actionne bouton.
    Lorsque j'ai enlevé +1 devant Additem Elem , au lieu de 1 C'est 0. J'ai compris que l'erreur vient de là.
    Voici ici un peu le problème. Merci

  20. #20
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 761
    Points : 28 619
    Points
    28 619
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Au temps pour moi (en rouge la modification) et on pourrait se passer de la variable Elem pour utiliser directement la propriété ListCount
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      Dim Ctrl As Control
      Dim Elem As Integer, Column As Integer
      With Me.lstData
      .ColumnCount = 4
       Elem = .ListCount
      .AddItem Elem
       For Each Ctrl In Controls
         If TypeName(Ctrl) = "TextBox" Then
          .List(Elem, Column) = Ctrl.Value: Column = Column + 1
         End If
       Next Ctrl
      End With
      Set Ctrl = Nothing
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Alimenter une listbox multicolonnes avec un tableau de variables
    Par windsor dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/08/2009, 19h23
  2. remplir une listbox multicolonne
    Par sebac dans le forum VB.NET
    Réponses: 5
    Dernier message: 16/05/2008, 18h26
  3. [VBA-E] Problème pour remplir une listbox multicolonne
    Par SFrane dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/05/2007, 16h55
  4. Boucle avec une listbox multicolonne
    Par morgan47 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/08/2006, 21h45
  5. Réponses: 4
    Dernier message: 21/07/2006, 14h53

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