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 :

Remplir une combobox multi colonnes


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Par défaut Remplir une combobox multi colonnes
    Bonjour
    Je travaille avec vba sous excel et je cherche à renseigner une combobox multi colonnes (2 pour être précis) afin de permettre la sélection d'un intitulé issu d'une feuille ou créer une nouvelle entrée dans cette feuille.
    Lors de la création de cette combobox, je spécifie au niveau de ses propriétés d'une part le nombre de colonne(s) (columncount=2) et l'affichage, première colonne étant cachée (columnwiths=0ptx;10pts).
    Puis dans le code au moment de la propriété Enter
    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
    25
    26
     
    Private Sub lstDen_Enter()
     
     
        With ThisWorkbook.Worksheets("Basal")
            .Activate
            fin = Str(ActiveSheet.UsedRange.Rows.Count)
            zon = "A3:A" & Right(Str(fin), Len(fin) - 1)
            Set rng = Range(zon)
            nbCol = rng.Rows.Count
            n = 1
            Me.lstDen.AddItem "Nouvelle insulinothérapie"
            Me.lstDen.Column(1, 1) = 0
     
            ' tant qu'il existe une insulinothérapie additif pour ce patient
            For Each cel In rng
                    ' control de vraisemblance afin de ne pas sélectionner la totalité de la feuille
                    If cel.Text = Me.affRang Then
                        n = n + 1
                        Me.lstDen.AddItem Cells(cel.Row, 2)
                        Me.lstDen.Column(1, n) = n
                    End If
            Next cel
        End With
     
    End Sub
    Le code semble bien se dérouler, mais au deroulement je n'ai qu'un poste dans ma combobox.
    Quelqu'un pourrait-il éclairer ma lanterne ?
    Un grand merci.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Ton code plante, pur moi sur la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.lstDen.Column(1, 1) = 0
    Essaie :

    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
        With ThisWorkbook.Worksheets("Basal")
            .Activate
            fin = Str(ActiveSheet.UsedRange.Rows.Count)
            zon = "A3:A" & Right(Str(fin), Len(fin) - 1)
            Set Rng = Range(zon)
            nbCol = Rng.Rows.Count
            n = 0
            Me.lstden.AddItem "Nouvelle insulinothérapie"
            Me.lstden.Column(1, 0) = 0
     
            ' tant qu'il existe une insulinothérapie additif pour ce patient
             For Each cel In Rng
                    ' control de vraisemblance afin de ne pas sélectionner la totalité de la feuille
                    If cel.Text = Me.affRang Then
                        n = n + 1
                        Me.lstden.AddItem Cells(cel.Row, 2)
                        Me.lstden.Column(1, n) = n
                    End If
            Next cel
        End With

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/05/2018, 00h49
  2. Remplir une combobox multi colonnes
    Par Beef76 dans le forum VB.NET
    Réponses: 2
    Dernier message: 01/04/2011, 19h26
  3. [XL-2003] Remplir une combobox avec le contenu d'une colonne d'un autre fichier Excel
    Par funkykiwi dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/02/2011, 15h50
  4. Réponses: 2
    Dernier message: 07/07/2008, 18h24
  5. Remplir une ComboBox avec DEUX colonnes (ou plus ^_^)
    Par DashRendar dans le forum VB.NET
    Réponses: 3
    Dernier message: 07/02/2008, 08h54

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