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 :

Tableau de données et liste déroulante


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 192
    Points : 68
    Points
    68
    Par défaut Tableau de données et liste déroulante
    Bonjour à tous,

    Je me résoud a demander votre aide puisque je patoge...

    J'ai un tableau de données appelé Tableau1.
    Une des colonne de ce tableau (sous-catégorie) est une liste déroulande créee par validation de données.
    J'essaie en vain de changer la source de cette liste déroulante en fonction de la valeur d'une autre cellule, mais je n'arrive pas à faire référence à cette liste en vba.
    Je n'arrive pas à selectionner autre chose que la colonne elle-même:

    Range("Tableau1[[Sous catégorie]]")

    Quelqu'un aurait-il une idée?

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Points : 929
    Points
    929
    Par défaut
    Bonjour,

    As tu essayé d'utiliser des plages nommées pour tes listes déroulantes?

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

    Est-ce que tu pourrais détailler, s'il te plait. Donne un exemple.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 192
    Points : 68
    Points
    68
    Par défaut
    Bonjour et merci de votre aide

    Pour faire simple:
    j'ai un tableau de données : tableau1
    Une première colonne nommée catégorie
    une deuxième colonne nommée sous-catégorie comportant une liste déroulante
    Lors d'un clic dans une cellule de cette 2ème colonne, je récupère les données de la colonne 1, même ligne(strCat), et aimerais, en fonction de ca, alimenter les données de la liste déroulante.
    Et c'est là que je bloque.
    Je n'arrive pas a faire réference à la liste déroulante de la colonne sous catégorie.

    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 Worksheet_SelectionChange(ByVal Target As Range)
     
        Dim Plage As Range
        Dim ListObj As ListObject
        Dim strCat As String
     
        Set Plage = Range("Tableau1[[#All],[Sous catégorie]]")
     
        If Application.Intersect(Target, Plage) Is Nothing Then
            MsgBox "Veuillez selectionner une catégorie"
        Else
            colonne = Target.Column
            ligne = Target.Row
            MsgBox Cells(ligne, colonne - 1).Value
            strCat = Cells(ligne, colonne - 1).Value
     
            Select Case strCat
                Case Is = "x"
                    '.............................
                Case Is = "y"
                    '................................
                Case Is = "z"
                    '.............................
            End Select
        End If
    End Sub
    Merci encore

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

    Pour faire référence à la seconde colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.ListObjects("Tableau1").ListColumns(2)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.ListObjects("Tableau1").ListColumns("Sous catégorie")
    La plage de données correspondante sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.ListObjects("Tableau1").ListColumns(2).DataBodyRange

Discussions similaires

  1. Lier un tableau de données à une liste déroulante
    Par mohammed_amine_wardy dans le forum Langage
    Réponses: 1
    Dernier message: 07/06/2009, 11h54
  2. [AJAX] lier un tableau de données à une liste déroulante
    Par Sh4dow49 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/07/2008, 22h21
  3. lier un tableau de données à une liste déroulante
    Par Sh4dow49 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 22/07/2008, 17h24
  4. Réponses: 1
    Dernier message: 15/09/2007, 10h09
  5. [PHP-JS] Sélection de données dans liste déroulante
    Par guigui69 dans le forum Langage
    Réponses: 2
    Dernier message: 04/09/2007, 13h54

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