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 liste déroulante [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 1
    Par défaut Remplir une liste déroulante
    J'ai tas de questions.

    Voici le code suivant:

    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
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Column = Range("NumClient").Column And Target.Row = Range("NumClient").Row Then
     
    Dim Mafeuille As Worksheet, init As Worksheet, Adresse1 As String
     
    Set Mafeuille = ThisWorkbook.Worksheets("CONSOLIDATION")
    Set init = ThisWorkbook.Worksheets("INITIALISATION")
     
     
    Me.ListBox_Commande.Clear
    Me.ListBox_Commande.MultiSelect = fmMultiSelectMulti
    For cmpt = 3 To Mafeuille.Range("C:C").Rows.Count
     
    If init. = Mafeuille.Range("C:C").Cells(cmpt).Value Then
     
    Me.ListBox_Commande.AddItem Mafeuille.Range("F:F").Cells(cmpt).Value
    End If
    Next cmpt
     
     
    'Me.ListBox_Commande.AddItem "bidules"
     
    End If
    End Sub


    Je devrai mettre : if init.Range("NumClient"), mais ça ne marche pas.

    Clément

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    pour nettoyer un peu, on est d'accord sur le fait que la condition complète est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If init.Range("NumClient") = Mafeuille.Range("C:C").Cells(cmpt).Value Then
    Après tests, il semblerait que ça marche, du moment que ta procédure trouve effectivement quelque chose...

  3. #3
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    En suite à ton problème...

    Avec Mafeuille.Range("C:C").Rows.Count, tu forces Excel à tester jusqu'à la ligne 65535, ce qui n'est évidemment pas idéal. Pour optimiser, je te conseillerais d'utiliser la propriété CurrentRegion pour détecter le nombre de lignes de ton tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim NbLig as Integer
    NbLig = Mafeuille.Range("C3").CurrentRegion.Rows.Count
    blabla...
    For cmpt = 3 To 2 + NbLig
    Si tu veux voir à quoi correspond CurrentRegion, tu vas sur la cellule C3 de ta feuille et tu fais un Ctrl + étoile.

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

Discussions similaires

  1. remplir une liste déroulante
    Par mademoizel dans le forum ASP
    Réponses: 19
    Dernier message: 08/03/2007, 17h33
  2. [Oracle] Remplir une liste déroulante avec une table
    Par CYCLOPE91440 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 26/12/2006, 16h26
  3. Réponses: 12
    Dernier message: 28/11/2006, 16h34
  4. Remplir une liste déroulante à partir d'un champ dans une pop up
    Par wiam26 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/08/2006, 17h42
  5. [débutant] Remplir une liste déroulante
    Par Floch dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 12/05/2006, 14h39

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