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 :

Modifier la plage d'entrée d'une liste déroulante


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
    Avril 2007
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 433
    Par défaut Modifier la plage d'entrée d'une liste déroulante
    Bonjour,

    Dans une feuille de mon classeur Excel j'ai mis une liste déroulante avec la barre d'outils formulaire.
    Je lui ai donné un nom, en faisant un clic droit dessus (pour avoir le focus, un espèce de mode "edition") et en entrant le nom "RemoveList" dans le champs à gauche de la barre de formule.

    Je voudrais modifier dynamiquement, via une macro VB, la plage d'entrée de ma liste.
    J'ai fait 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
    Public Sub UpdateRemoveList()
     
        Dim i As Integer
        Dim value As Variant
        Dim listRange As range
     
        'We find the end of the list in i
        i = 10
        Do
            i = i + 1
            value = Sheets(2).range("C" & i).value
        Loop While Not IsEmpty(value)
     
        'We define the range
        Set listRange = Sheets(2).range("E10:E" & i)
     
        'We update the list
        ActiveSheet.Shapes("RemoveList").Select
        With Selection
             .ListFillRange = listRange
             .DropDownLines = 8
             .Display3DShading = False
        End With
     
    End Sub
    Cependant à l'éxécution j'otbiens le message d'erreur suivant :
    unable to set the ListFillRange property of the Drop Drown class

    Merci pour le coup de main.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 433
    Par défaut
    J'ai trouvé, en fait la propriété range prends un string et non pas un range :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        'We update the list range
        Sheets(1).Shapes("RemoveList").Select
        With Selection
            .ListFillRange = "'Core Sheet'!E10:E" & i
            .DropDownLines = 10
        End With

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

Discussions similaires

  1. [MySQL] désactiver (griser) une entrée d'une liste déroulante
    Par ironman06 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/02/2012, 13h07
  2. Réponses: 12
    Dernier message: 17/08/2009, 06h27
  3. ajout d'entrées dans une liste déroulante
    Par zerros dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/12/2008, 13h58
  4. Réponses: 2
    Dernier message: 28/05/2008, 12h36
  5. [DOM] Ajouter/supprimer des entrées d'une liste déroulante
    Par Zakapatul dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/05/2007, 10h25

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