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 :

Actualisation DropDown dans ruban [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Nephyline
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 161
    Par défaut Actualisation DropDown dans ruban
    Bonjour,

    J'ai un contrôle DropDown dans un ruban qui se remplit dynamiquement selon le contenu de certaines cellules de la feuille active.
    J'essaye depuis plusieurs jours d'actualiser ce contrôle de façon à ce que son contenu soit mis-à-jour lorsque l'utilisateur change de feuille.
    J'ai finalement ajouté un bouton (dans ce même ruban) qui ajoute une valeur bidon dans une cellule vide pour que la mise-à-jour se fasse sur clic/actualisation de la feuille.

    Mais j'ai plus l'impression de me perdre que de vraiment avancer...

    Pouvez-vous m'aider, s'il vous plaît ?

    Module :
    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
    Option Explicit
     
    Public objRuban As IRibbonUI
    Public boolResult As Boolean
     
    'Callback for customUI.onLoad
    'Est déclenché lors du chargement du ruban personnalisé.
    Sub RubanCharge(ribbon As IRibbonUI)
        Set objRuban = ribbon
    End Sub
     
    Sub btn_OnAction(control As IRibbonControl)
     
        Range("A80").Select
        With Selection.Font
            .ThemeColor = xlThemeColorDark1
            .TintAndShade = 0
        End With
        ActiveCell.FormulaR1C1 = "=TODAY()"
        Range("A81").Select
     
    End Sub
    Code ajouté dans chaque feuille :
    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
    'Option Explicit
     
    'Evenement Change dans la feuille de calcul.
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
        If Target.Address(0, 0) = "A81" Then
            boolResult = True
    '    Else
    '        boolResult = False
        End If
     
        'Rafraichit le bouton personnalisé
        If Not objRuban Is Nothing Then objRuban.InvalidateControl "dropDown1"
     
    End Sub

  2. #2
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    bjr

    pas bien sûr d'avoir tout compris mais :

    - j'utiliserais plutôt l'événement SheetActivate dans ThisWorkbook pour lancer un InvalidateControl du dropDown au changement de feuille

    - pour le remplissage de la liste, ActiveSheet permet de trouver la feuille active

  3. #3
    Membre confirmé Avatar de Nephyline
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 161
    Par défaut
    Merci beaucoup Arkham !

    J'ai résolu mon problème ! J'obtiens bien une mise à jour sur le changement de feuille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
        ThisWorkbook.RibbonUI.InvalidateControl ("dropDown1")
    End Sub
    J'ai quand même gardé le bouton d'actualisation si l'utilisateur change une valeur du contenu dynamique pour qu'il n'ait pas à changer de feuille.

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

Discussions similaires

  1. [AC-2007] Ruban Actualiser DropDown
    Par alfhcg dans le forum IHM
    Réponses: 4
    Dernier message: 22/11/2010, 18h24
  2. [AC-2007] Remplissage Dynamique de DropDown dans le Ruban
    Par alfhcg dans le forum IHM
    Réponses: 3
    Dernier message: 27/10/2010, 01h56
  3. Actualiser liste dans formulaire
    Par energies dans le forum Access
    Réponses: 10
    Dernier message: 12/09/2006, 15h44
  4. Actualiser texte dans <marquee>
    Par ponpon17430 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/08/2006, 10h01
  5. [NetBeans] DropDown dans une table
    Par nicolou dans le forum NetBeans
    Réponses: 4
    Dernier message: 16/06/2006, 10h51

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