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 :

Adapté une représentation d’un tableau de bord [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut Adapté une représentation d’un tableau de bord
    Bonjour à tous,

    J’aimerais adaptée un tableau de bord à mon besoin, mais en premier je souhaiterais comprendre comment peut-on réaliser la liste des pays avec la barre de défilement verticale située en haut à gauche dans cette représentation :

    http://img.chandoo.org/contests/ssc/...os.pribula.xls

    Merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Bonjour,

    Clique sur l'onglet "Révision" puis sur "Oter la protection de la feuille". Clique sur la barre de défilement et déplace-la.

  3. #3
    Membre chevronné Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 352
    Par défaut
    Bonjour Apt,

    Je pense que ta question porte sur l'usage des barres de défilement ou ScrollBar en VBA.

    Vas jeter un coup d'oeil aux didacticiels (le fonctionnement sera souvent décrit comme un contrôle d'un Userform - mais le principe reste identique pour un usage directement sur ta feuille de calcul)

    Il faut adapter certaines propriétés de la ScrollBar pour gérer l'affichage.

    La propriété KeepScrollbarsVisible : rend la barre soit toujours visible ou seulement lorsque la zone visible est plus grande que le conteneur

    La valeur de la propriété ScrollHeight : permet un défilement vertical (littéralement "défilement en hauteur") :
    • Par défaut, cette valeur est à 0 et donc il n'y a pas de défilement possible.
    • Sinon, tu peux avoir un frame de 100 de haut et définir la propriété ScrollHeight à 400. La barre de défilement vertical s'affichera et la zone visible dans cette barre représentera +/- un quart de la hauteur de la barre.


    La logique est identique pour la barre de défilement horizontal, en adaptant les noms des propriétés.

    Tu peux évidemment définir ces valeurs par macro, en fonction de la place des informations à afficher.

    Bertrand

  4. #4
    Membre chevronné Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 352
    Par défaut
    Bonjour,

    Sans passer par le VBA, tu peux utiliser la ScrollBar et la fonction OFFSET (= la fonction DECALER en français).

    Cette vidéo explique les principes :


    Bertrand

  5. #5
    Membre chevronné Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 352
    Par défaut
    Bonsoir,

    Il me paraissait important d'être plus complet dans mes explications et de traiter cette méthode à travers un exemple :

    1. Sur une feuille vierge, je crée un tableau avec bordure sur la plage B2:C11

    2. Onglet "Développeur", puis clic sur la rubrique "Insérer" puis "Barre de défilement"

    3. En G2:H21, je saisis deux colonnes de données que je vais vouloir faire apparaître dans ma plage de défilement (nous pourrions utiliser une autre page du classeur pour y stocker ces informations)

    A ce stade, j'obtiens ça :



    4. J'indique un emplacement pour la "position relative" (celle qui va piloter ma vue en quelque sorte) --> la case jaune sur la copie écran ci dessous



    5. Je survole la Scrollbar puis Clic droit puis Format de contrôle

    6. Je modifie les propriétés de la forme et j'indique la source des données (qui aurai pu être sur une autre feuille) :



    J'indique 11 en valeur maximale car si la vue est déplacé au maximum vers le bas, la valeur de la 11ème ligne sera toujours visible.

    J'indique $K$2 en cellule liée (emplacement jaune).

    7. A ce stade, il faut "décaler" l'étendue du ScrollBar grâce à la fonction OffSet (ou DECALER en français). Je commence par saisir dans la case B2 (le coin supérieur gauche du tableau servant au défilement) :

    G1 = cela correspond à la cellule juste au dessus du coin supérieur gauche du tableau procurant les données (c'est comme un indice 0)
    $K$2 = C'est ma cellule liée au mouvement du ScrollBar (attention position absolue)

    Il me reste plus qu'à tirer la formule sur les 9 cases du dessous [B3:B11], puis à tirer sur la colonne de droite [C2:C11].

    Désormais, le scrollbar mouvemente les valeurs placées à sa gauche.



    Ci-joint le fichier réalisé.

    Bertrand
    Fichiers attachés Fichiers attachés

  6. #6
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Bonsoir Daniel, Bear the french,

    Merci pour tes explicitons Bertrand.

    Je vais faire des testes sur ton exemples.

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

Discussions similaires

  1. Automatisation d'un tableau de bord nécessitant une macro
    Par Chess-AK dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/12/2009, 14h37
  2. Ajouter une ligne à un tableau (adaptation d'un script existant)
    Par beegees dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/10/2008, 11h04
  3. tableau de bord pour une boucherie
    Par arrayane dans le forum Excel
    Réponses: 7
    Dernier message: 23/07/2008, 04h44
  4. Avoir le tableau de bord version bubuntu sur une ubuntu
    Par kiteolivier dans le forum Bubuntu
    Réponses: 2
    Dernier message: 22/07/2008, 18h34

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