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 :

Problème de Segment


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut Problème de Segment
    Bonjour,

    J'ai définit un segment à partir d'un tableau structuré:
    Libelle
    Mon etiquette
    Ma seconde étiquette
    Etiquette non assignée
    Etiquette second projet
    Je souhaite pouvoir récupérer la liste des items sélectionnés lorsque l'on clique dessus.

    Problème:
    Si j'affecte une macro au segment, ce dernier n'est pas mis à jour, et aucun évènement de la feuille ne semble répondre.

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    une petite ruse, c'est de créer une donnée fictive dans le tableau, dont la valeur est une formule (sous-total, somme etc...)

    Lorsque tu vas sélectionner une valeur du segment, il va y avoir recalcul, qui te permet d'intercepter le clic sur l'évènement calculate de worksheet

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Malheureusement les évènements de la feuille ne sont pas déclenchés.
    Ce qui est logique, le tableau structuré est seulement filtré, son contenu (en interne) ne change pas.

    Par contre, tu m'as donné une idée: Passer par un TCD.
    Dans ce cas, les évènements de la feuille sont bien déclenchés.
    Bonus: Avec l'évènement Worksheet_PivotTableUpdate, on peut identifier quel TCD a été mis à jour et en conséquence quel segment à été manipulé par l'utilisateur (à condition qu'un seul segment soit lié au TCD).

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Malheureusement les évènements de la feuille ne sont pas déclenchés.
    Ce qui est logique, le tableau structuré est seulement filtré, son contenu (en interne) ne change pas.
    Sauf si l'on active la ligne total du tableau et que l'on crée au minimum une colonne avec un sous-total comme l'a suggéré Joe, que je salue au passage, ou si l'on ajoute une colonne contenant par exemple la fonction AGREGAT comme =AGREGAT(3;5;[@Ref]).
    Dans c'est deux cas de figure, on peut intercepter l'événement Worksheet_Calculate
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Intéressant,

    Cependant, je préfère passer par un TCD.
    Comme je l'ai expliqué, l'évènement PivotTableUpdate permet via son argument, de connaitre le TCD mis à jour, et par conséquent le segment manipulé.

    L'évènement Worksheet_Calculate étant dépourvu d'argument ne permet pas de savoir quel tableau a été mis à jour.
    Ce qui, dans le cadre de segment multiples, oblige à insérer une feuille par segment (et tableau).
    C'est lourd quand on peut factoriser avec une feuille contenant les tableaux et une feuille contenant les TCD.

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

Discussions similaires

  1. Comment contrer la "segmentation fault" ?
    Par guillaume_pfr dans le forum C
    Réponses: 15
    Dernier message: 08/08/2003, 13h43
  2. Problème de déclaration de segment avec use32
    Par le mage tophinus dans le forum Assembleur
    Réponses: 2
    Dernier message: 10/01/2003, 10h17
  3. [VB6] [Interface] Horloge 7 segments
    Par selenay dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 07/10/2002, 16h15
  4. [TASM] Déclarer le segment de pile
    Par cipher dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 01/10/2002, 03h58
  5. angle entre 2 segments
    Par tane dans le forum Mathématiques
    Réponses: 4
    Dernier message: 25/09/2002, 16h47

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