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 :

Insertions de plus de 10 textbox et combobox dans listbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Comptable
    Inscrit en
    Août 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Août 2018
    Messages : 30
    Par défaut Insertions de plus de 10 textbox et combobox dans listbox
    Bonjour à tous, je travaille sur une macro depuis le matin, et même ChatGPT n'a pu m'aider.

    J'ai sur mon formulaire 14 textbox et 2 combobox qui me servent à renseigner les données et informations des salariés.
    Nous avons 10 salariés dans la boite et donc je dois insérer leur données 10 fois dans la listbox avant de tout sauvegarder
    dans la feuille correspondante.
    Ne pouvant y arriver avec la méthode AddItem, j'ai essayé la méthode List sans plus de succès. Voici mon code, Malheureusement
    il ne marche pas, j'ai le message "Erreur d'exécution 381" impossible de définir la propriété list.
    VB:
    Dim i As Integer
    Liste_Données.ColumnCount = 16
    For i = 1 To Total
    ' Récupérer le numéro de ligne à insérer
    Dim Ligne As Integer
    Ligne = Liste_Données.ListCount

    ' Insérer les données des TextBox dans les colonnes correspondantes
    Liste_Données.List(Ligne, 0) = Me.Txt_Période1.Value
    Liste_Données.List(Ligne, 1) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 2) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 3) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 4) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 5) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 6) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 7) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 8) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 9) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 10) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 11) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 12) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 13) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 14) = Me.Txt_Période2.Value
    Liste_Données.List(Ligne, 15) = Me.Txt_Période2.Value
    ' Ajoutez ici les valeurs pour les autres TextBox


    ' Incrémenter le numéro de ligne
    Liste_Données.AddItem
    Next i

    Entre temps j'ai eu aussi à essayer le code ci-dessous qui m'insère bien les 16 colonnes, mais malheureusement l'insertion à la suite ne marche pas;
    A chaque foi la listbox se vide pour insérer une nouvelle ligne de 16 colonnes à la fois

    Dim i As Integer
    Dim Total As Integer
    Dim Données() As Variant

    ' Spécifiez ici le nombre total de fois que vous souhaitez insérer les données
    Total = 1

    ' Définir la taille du tableau de données
    ReDim Données(1 To Total, 1 To 16)

    ' Boucle pour récupérer les données des TextBox et ComboBox
    For i = 1 To Total
    ' Insérer les données dans le tableau
    Données(i, 1) = Me.Txt_Période1.Value
    Données(i, 2) = Me.Txt_Période2.Value
    Données(i, 3) = Me.Cbx_Type.Value
    Données(i, 4) = Me.Cbx_Salarié.Value
    Données(i, 5) = Me.Txt_Avance.Value
    Données(i, 6) = Me.Txt_Opposition.Value
    Données(i, 7) = Me.Txt_Retenues.Value
    Données(i, 8) = Me.Txt_Rappel.Value
    Données(i, 9) = Me.Txt_Base.Value
    Données(i, 10) = Me.Txt_Fonction.Value
    Données(i, 11) = Me.Txt_Transport.Value
    Données(i, 12) = Me.Txt_AutresImp.Value
    Données(i, 13) = Me.Txt_Caisse.Value
    Données(i, 14) = Me.Txt_Assurance.Value
    Données(i, 15) = Me.Txt_AutresNonImp.Value
    Données(i, 16) = Me.Txt_Sursalaire.Value

    Next i
    Quelqu'un pourrait m'aider.

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Bonjour,
    Je pense qu'il faut mettre Liste_Données.AddItem avant la ligne
    Liste_Données.List(Ligne, 0) = Me.Txt_Période1.Value
    cela permet de créer une ligne vide pour ensuite lui assigner des valeurs.
    En faisant l'inverse, tu essaies d'assigner des valeurs à une ligne qui n'existe pas.

Discussions similaires

  1. [XL-2016] TextBox ou ComboBox. Init listbox avec Images
    Par LeTrollDu27 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/10/2016, 14h18
  2. Changer la couleur des TextBox et Combobox dans un USF
    Par olivepao dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 05/01/2009, 21h41
  3. [WPF] textbox ou combobox dans un listview
    Par modafine dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 14/08/2008, 10h37
  4. comment vider plusieurs textbox et combobox dans un formilaire et Plus
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 05/05/2008, 15h52

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