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 :

[Userform] Alimentation ListBox et validation [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 304
    Par défaut [Userform] Alimentation ListBox et validation
    Bonjour,

    J'ai créé une Userform dans laquelle j'ai mis une list box qui est alimentée par la validation d'un bouton radio :

    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
    Private Sub PopTotaleSte_Click()
     
        Dim i As Integer
        i = 2
     
        Dim colPopTotaleSte As New Collection
     
     
        Do While ThisWorkbook.Worksheets("Table_de_Droit").Range("K" & i).Value <> ""
            On Error Resume Next
     
            colPopTotaleSte.Add ThisWorkbook.Worksheets("Table_de_Droit").Range("K" & i).Value, CStr(ThisWorkbook.Worksheets("Table_de_Droit").Range("K" & i).Value)
     
            i = i + 1
        Loop
     
        For Each Item In colPopTotaleSte
            CSPEL.AddItem Item
        Next
     
     
    End Sub
    Ensuite dans ma userform, je valide ma sélection unique avec le code d'insertion dans ma feuille excel suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim n As Integer
            For n = 0 To CSPEL.ListCount - 1
                If (CSPEL.Selected(n) = True) Then
                    Sheets("Nouveau").Cells(ligneFree, 3).Value = CSPEL.List(n)
                End If
            Next
    cela fonctionne correctement, la seule chose, c'est que je voudrai que la donnée qui est écrite sur le fichier excel soit la colonne 2 de la list box (qui n'a pas été chargé lors du script de l'initialisation de la userform)

    En sachant que j'ai un tableau avec le libellé (visible pour les utilisateur et qui est chargé dans la listbox) et le code (qui sera saisi sur la feuille excel après avoir sélectionné le libellé).

    Comment je peux adapter mon code ? par avance merci.

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 304
    Par défaut
    j'ai modifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Nouveau").Cells(ligneFree, 3).Value = CSPEL.List(n)
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Nouveau").Cells(ligneFree, 3).Value = CSPEL.List(n, 2)
    cela ne fonctionne pas, faut il que je change ma sélection (premier script du Post) ? si oui comment, merci.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 304
    Par défaut
    j'ai corrigé le code de chargement de la list par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub PopTotaleSte_Click()
     
        CSPEL.Clear
     
     
    With Sheets("Table_de_Droit")
        CSPEL.List = .Range("K2:L" & .Range("A65536").End(xlUp).Row).Value
    End With
     
     
     
    End Sub
    c'est ok maintenant

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

Discussions similaires

  1. [XL-2007] Userform - alimenter ListBox, feuille de données
    Par BtjpsspgrW dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/08/2014, 20h44
  2. [XL-2007] Alimenter listbox selon la feuille choisi
    Par Gestionnaire_rh dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/04/2011, 10h46
  3. [XL-2007] UserForm Définir ListBox
    Par vivi4561 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 24/09/2009, 23h21
  4. Réponses: 2
    Dernier message: 11/12/2007, 22h23
  5. alimentation listbox avec variable
    Par jpenja dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/11/2007, 10h56

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