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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    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 confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

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

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

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    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
    13 178
    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 : 13 178
    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 éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    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
    13 178
    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 : 13 178
    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

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

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 Invité 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