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 :

Figer un segment


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 51
    Points
    51
    Par défaut Figer un segment
    Bonjour,

    Après avoir longuement cherché, et sans réponse réellement efficace, je viens de nouveau faire appel à vous.
    Ma question semble simple : Comment figer un segment afin que l'utilisateur ne puisse le déplacer lors de sa consultation ?

    Merci pour votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Points : 28
    Points
    28
    Par défaut
    Un segment de quoi?

  3. #3
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par Ardus Petus Voir le message
    Un segment de quoi?
    Un segment.
    Le segment est le nouvel attribut des TCD, depuis quelques années déjà.
    Il offre aux utilisateurs la possibilité de faire des filtres sur des TCD et GCD.

  4. #4
    Membre chevronné Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Points : 1 971
    Points
    1 971
    Par défaut
    Bonjour Site,

    Qu'entends tu pars figer un segment ?

    Bloquer le fait de sélectionner des éléments de celui-ci.
    ou
    Bloquer le fait de pouvoir le bouger sur la feuille, redimensionner,...

  5. #5
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par mfoxy Voir le message
    Bonjour Site,

    Qu'entends tu pars figer un segment ?

    Bloquer le fait de sélectionner des éléments de celui-ci.
    ou
    Bloquer le fait de pouvoir le bouger sur la feuille, redimensionner,...
    Bonjour mfoxy,

    Je souhaite simplement que l'utilisateur ne puisse le déplacer tout en l'utilisant, bien évidemment.
    Lorsqu'on survole le segment avec la souris, le curseur se transforme en croix et l'utilisateur peut alors le déplacer ; ainsi que le graphique associé.
    Si je verrouille ma feuille, le graphique reste figé, donc non déplaçable.
    J'aimerais en faire autant avec le segment. Mais en verrouillant la feuille, le segment n'est plus utilisable.

    Merci de m'aider

  6. #6
    Membre chevronné Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Points : 1 971
    Points
    1 971
    Par défaut
    OK,

    Pas besoin de vba pour cela, c est directement dans les propriétés du segment.

    Si je ne me trompe pas :
    Clic droit sur le titre du segment, propriétés, ne pas déplacer, ne pas dimensionner avec les cellules (décocher) .

  7. #7
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par mfoxy Voir le message
    OK,

    Pas besoin de vba pour cela, c est directement dans les propriétés du segment.

    Si je ne me trompe pas :
    Clic droit sur le titre du segment, propriétés, ne pas déplacer, ne pas dimensionner avec les cellules (décocher) .
    C'est ce que j'ai fait. Mais j'ai alors un message d'erreur lorsque j'essaye d'utiliser le segment.

  8. #8
    Membre chevronné Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Points : 1 971
    Points
    1 971
    Par défaut
    C'est super bizarre, je fais tjrs comme cela et jms eu de souci.

    Tu n'aurais pas verrouiller/proteger ta feuille par hasard, car dans ce cas tu dois permettre l'utilisation du slicer dans les paramètres de protection

  9. #9
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par mfoxy Voir le message
    C'est super bizarre, je fais tjrs comme cela et jms eu de souci.

    Tu n'aurais pas verrouiller/proteger ta feuille par hasard, car dans ce cas tu dois permettre l'utilisation du slicer dans les paramètres de protection
    Voilà ce que j'ai :

    Déplacer et dimensionner avec les cellules : décoché
    Déplacer sans dimensionner avec les cellules : décoché
    Ne pas déplacer ou dimensionner avec les cellules : coché

    Verrouillé : coché

  10. #10
    Membre chevronné Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Points : 1 971
    Points
    1 971
    Par défaut
    Idem que moi,
    Tu as quoi comme message d'erreur ?

  11. #11
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par mfoxy Voir le message
    Idem que moi,
    Tu as quoi comme message d'erreur ?
    Je n'arrive plus à reproduire le message d'erreur.
    Mais cela ne fonctionne pas. Je peux toujours déplacer mon segment.

  12. #12
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 51
    Points
    51
    Par défaut Relance
    Bonjour à tous,

    Je relance la discussion parce que je n'arrive toujours pas à figer mon segment.
    merci pour votre aide

  13. #13
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 475
    Points : 16 366
    Points
    16 366
    Par défaut
    Bonjour

    Je ne pense pas que cela soit possible, le déplacement n'étant pas un évènement en soi


    Il faut mémoriser la position du ou des segments dans un onglet particulier, ou à l'ouverture du classeur dans une tableau static, et les recaler à la fermeture du fichier

  14. #14
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par 78chris Voir le message
    Bonjour

    Je ne pense pas que cela soit possible, le déplacement n'étant pas un évènement en soi


    Il faut mémoriser la position du ou des segments dans un onglet particulier, ou à l'ouverture du classeur dans une tableau static, et les recaler à la fermeture du fichier
    Bonjour Chris,

    Merci à toi d'être toujours là.

    En fait, l'onglet sur lequel est positionné le graphique est construit dynamiquement à la demande de l'utilisateur.
    Le click sur un bouton de commande lance une macro qui va récupérer les données et construit un graphique.
    Les emplacements (graphique et segment) sont définis dans la macro et tout se passe correctement.
    Sauf que l'utilisateur a la possibilité de déplacer le segment comme il veut.
    Ce n'est pas très gênant en soi puisque l'onglet sera supprimé à la fermeture du fichier et recréé lors d'une prochaine utilisation.
    Mais on me demande quand même d'empêcher tout déplacement du segment.
    En cherchant, j'ai trouvé qu'il fallait passer par les propriétés du segment et cocher l'option "Ne pas déplacer ou dimensionner avec les cellules".
    J'ai essayé ; cela ne fonctionne pas.
    Je précise que l'onglet est verrouillé.

  15. #15
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 51
    Points
    51
    Par défaut
    En fait, la solution proposée sur tous les forums qui consiste à valider l'option "Ne pas déplacer ou dimensionner avec les cellules" ne correspond pas au besoin.

    Je ne souhaite pas figer mon segment lorsque les cellules sont modifiées.
    Je souhaite simplement interdire aux utilisateurs de modifier l'emplacement et la forme du segment.

    Lorsque la souris est positionnée sur la bordure du segment, le curseur se transforme en croix signifiant qu'on peut tirer le segment et le déplacer.
    Ce que je souhaite empêcher.

  16. #16
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 919
    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 : 12 919
    Points : 28 904
    Points
    28 904
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Fonctionne avec la version 365 donc pas certain que cela existe dans les versions antérieures. (EDIT), je viens de vérifier c'est disponible avec la version 2013

    Exemple avec segment d'un tableau structuré
    • Sélection du segment
    • Clic droit
    • Sélection de la commande Taille et propriétés... du menu contextuel
    • Dans le volet qui s'affiche à droite cocher l'option désactiver le redimensionnement et le déplacement


    Il faut le faire pour chaque segment

    Nom : NotMoveSlicer.png
Affichages : 3234
Taille : 17,1 Ko

    En VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SlicerCaches("Segment_VEHICULE").Slicers("VEHICULE").DisableMoveResizeUI = True

  17. #17
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 475
    Points : 16 366
    Points
    16 366
    Par défaut
    REbonjour

    Je me coucherai moins bête : existait déjà sur 2010. Jamais fait attention... ou oublié...

  18. #18
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 919
    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 : 12 919
    Points : 28 904
    Points
    28 904
    Billets dans le blog
    53
    Par défaut
    Bonjour Chris,
    Je t'avoue que moi non plus.
    C'est la question posée qui m'a poussé à chercher.

  19. #19
    Nouveau membre du Club Avatar de PierreE_67207
    Homme Profil pro
    Bureau d'étude (bâtiment)
    Inscrit en
    Janvier 2015
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Bureau d'étude (bâtiment)
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2015
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Fonctionne avec la version 365 donc pas certain que cela existe dans les versions antérieures. (EDIT), je viens de vérifier c'est disponible avec la version 2013

    Exemple avec segment d'un tableau structuré
    • Sélection du segment
    • Clic droit
    • Sélection de la commande Taille et propriétés... du menu contextuel
    • Dans le volet qui s'affiche à droite cocher l'option désactiver le redimensionnement et le déplacement


    Il faut le faire pour chaque segment

    Nom : NotMoveSlicer.png
Affichages : 3234
Taille : 17,1 Ko

    En VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SlicerCaches("Segment_VEHICULE").Slicers("VEHICULE").DisableMoveResizeUI = True

    Bonjour Philippe,
    Je retombe sur cette discussion qui répond à un besoin également pour moi, pour contrôler la position de segments créés par le VBA.
    Ainsi je cherche à leur mettre en propriétés "Ne pas déplacer ou dimensionner avec les cellules", mais je ne trouve pas cette propriété dans l'objet Slicer ; une idée ?
    Merci par avance
    PE

  20. #20
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 121
    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 121
    Points : 9 948
    Points
    9 948
    Billets dans le blog
    5
    Par défaut
    Bonjour,


    La propriété .Placement du slicer ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SlicerCaches("Segment_VEHICULE").Slicers("VEHICULE").Placement = xlFreeFlotating

Discussions similaires

  1. Figer certaines valeurs dans un segment (slicer)
    Par polaccess dans le forum Excel
    Réponses: 3
    Dernier message: 13/04/2017, 09h28
  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