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 :

[EXCEL] Modifier la cellule liée d'une liste déroulante


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut [EXCEL] Modifier la cellule liée d'une liste déroulante
    Bonjour,

    Je voudrais modifier la cellule liée d'une liste déroulante et notamment attribuer la valeur renvoyée par la liste à la cellule sélectionnée par l'utilisateur.


    Merci pour votre aide

    SE

  2. #2
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Je ne sais pas si c'est pareil pour tout le monde, mais moi, je n'ai rien compris à ce que tu veux...

  3. #3
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Je pensais pourtant avoir été clair mais apparement non...

    Je tente de reformuler :
    - dans une feuille de calcul, il y a une liste déroulante ;
    - dans le format de contrôle, j'ai attribué une valeur à la plage d'entrée ;
    - il ya également une valeur attribuée pour la cellule liée.

    Je souhaiterais savoir s'il est possible de modifier par le code la cellule liée de la liste de telle sorte que la cellule liée soit la cellule active ou selectionnée par l'utilisateur.
    Si oui comment faire et sur quel évenement appliquer le code?

    Merci pour vos éclaircissements...en espérant avoir été plus clair...

    SE

  4. #4
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 72
    Points : 78
    Points
    78
    Par défaut
    et que dit le createur de macro auto?

  5. #5
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Regarde ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes("Drop Down 3").LinkedCell = ActiveCell
    Maintenant, à quel moment veux-tu que le changement se fasse? Je n'arrive pas trop à m'imaginer...

  6. #6
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    et que dit le createur de macro auto?
    L'enregistreur de Macro renvoie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Range("B12").Select
        ActiveSheet.Shapes("Drop Down 4").Select
        With Selection
            .ListFillRange = "Feuil3!$B$2:$B$340"
            .LinkedCell = "$B$7"
            .DropDownLines = 8
            .Display3DShading = False
        End With
    Ce qui ne permet pas d'attacher la cellule liée à la cellule selctionnée...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes("Drop Down 3").LinkedCell = ActiveCell
    renvoie une erreur de "propriété ou méthode non gérée par cet objet"
    ...en précisant que j'ai affecté la Macro à la liste déroulante...

    SE[/code]

  7. #7
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Heuu... Tu as bien remplacé "Drop Down 3" par "Drop Down 4", dans le code que je t'ai envoyé?

  8. #8
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Heuu...Oui...

    SE

  9. #9
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Ok, autant pour moi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        ActiveSheet.Shapes("Drop Down 1").Select
        With Selection
            .LinkedCell = ActiveCell.Address
        End With
    Attention, il y a encore un piège sur le nom du Drop Down...

  10. #10
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ActiveSheet.Shapes("Drop Down 4").Select
        With Selection
            .LinkedCell = ActiveCell.Address
        End With
    Effectivement, ce code "attache" la cellule liée à la cellule active...donc j'obtiens bien la valeur voulue en fonction du choix fait avec la liste sur cette cellule.
    Je sélectionne ensuite une autre cellule, fais un choix dans la liste : la valeur est renvoyée sur la cellule en cours (active) mais...aussi sur la cellule précédement sélectionnée...

    J'ai regardé dans le format de contrôle et je constate que dans le champ Cellule liée la référence de la cellule précédement sélectionnée est présente d'où peut-être la nécessité de vider par le code ce champ de propriété du contrôle?

    SE

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/06/2015, 15h39
  2. [AC-2007] Modifier l'auto complétion dans une liste déroulante.
    Par Swed_Chief dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/05/2015, 15h41
  3. protéger une seule cellule qui contient une liste déroulante
    Par rihab92 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/02/2015, 11h15
  4. Modifier la valeur affichée d'une liste déroulante
    Par Neewd dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 31/01/2012, 12h15
  5. Réponses: 4
    Dernier message: 02/06/2009, 17h09

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