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

Excel Discussion :

Liste déroulante a partir des données d'une autre feuille


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 31
    Points : 32
    Points
    32
    Par défaut Liste déroulante a partir des données d'une autre feuille
    Bonjour !
    Comme indiqué dans le titre, j'ai besoin d'utiliser le vba pour faire une liste dynamique, j'ai fais des tests en amont mais ils me donnent des résultats de liste incohérants, pourriez vous me venir en aide ?
    Merci d'avance, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub test()
    Sheets("Choix").Range("G7").Validation.Delete
    Sheets("Choix").Range("G7").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="=" & Sheets("Listes").Range("A2:A10").Address
    End Sub

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    la valeur de Formula1 doit être "Listes!A2:A10" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheets("Choix").Range("G7").Validation.Delete
    Sheets("Choix").Range("G7").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="=Listes!" & Range("A2:A10").Address
    ou :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheets("Choix").Range("G7").Validation.Delete
    Sheets("Choix").Range("G7").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="=Listes!A2:A10"

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 31
    Points : 32
    Points
    32
    Par défaut
    J'ai honte...

    Merci beaucoup !

    Edit: Par contre ça me met un runtime error 1004
    Application-defined or object defined error

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Quelle est ta version d'Excel ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 31
    Points : 32
    Points
    32
    Par défaut
    2003

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Alors, tu dois passer par une plage nommée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Names.Add "Plage", Sheets("Listes").Range("$A$2:$A$10")
    et pour la validation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("Choix").Range("G7").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="=plage"

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Points : 654
    Points
    654
    Par défaut
    Bonjour,
    La version 2003 d'excel ne permet de faire une plage nommé et de la mettre validation des données -> autoriser:Liste et dans source mettre =maPlage ??

    C'est dommage de faire du vba pour ça, après je ne connais pas cette version.

    (la réponse m'interesse ont ne sait pas de quoi est fait demain )

    Bonne journée

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 31
    Points : 32
    Points
    32
    Par défaut
    Ah merci ça marche !

    jouana@ Oui oui mais si tu veux je vais changer la plage de la liste en fonction de choix de l'utilisateur dans une autre liste déroulante (pour faire une "cascade de listes déroulantes")

Discussions similaires

  1. Réponses: 9
    Dernier message: 02/01/2014, 11h21
  2. [XL-2007] Remplacer des données dans une autre feuille
    Par dodo28 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/04/2009, 19h44
  3. [MySQL] Liste déroulante générée à partir des données de ma table
    Par mjs21 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 05/06/2008, 14h24
  4. Update d'une table à partir des données d'une autre
    Par gregoryacf dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/04/2008, 14h02
  5. Réponses: 4
    Dernier message: 25/05/2007, 15h25

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