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 :

Affichage / centrage des workbooktabs [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Août 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2018
    Messages : 61
    Par défaut Affichage / centrage des workbooktabs
    Bonjour à tous,

    J'ai un classeur excel AA avec 25 feuilles. A partir d'un autre classeur BB, j'ouvre une feuille du classeur AA. Tout est OK jusque là.

    Mais en bas de page, le tab de l'onglet/feuille BB qui est affiché est en dehors de la page/ecran.

    Code/instruction pour faire glisser les tabs et faire apparaitre celui de la feuille active ?
    (Cela pour aider mon utilisateur à savoir sur quelle feuille il est !)

    Question saugrenue j'en convient mais je suis preneur de toute piste de recherche

  2. #2
    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
    Citation Envoyé par Burngun Voir le message
    Bonjour à tous,

    J'ai un classeur excel AA avec 25 feuilles. A partir d'un autre classeur BB, j'ouvre une feuille du classeur AA. Tout est OK jusque là.

    Mais en bas de page, le tab de l'onglet/feuille BB qui est affiché est en dehors de la page/ecran.

    Code/instruction pour faire glisser les tabs et faire apparaitre celui de la feuille active ?
    (Cela pour aider mon utilisateur à savoir sur quelle feuille il est !)

    Question saugrenue j'en convient mais je suis preneur de toute piste de recherche
    Pas compris,
    screen shot stp ?

    Si tu ouvres un classeur AA, il est normal que les feuilles du classeur BB ne soient pas visible (le classeur AA est au premier plan).

  3. #3
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 508
    Par défaut
    Salut,
    Mais en bas de page, le tab de l'onglet/feuille BB qui est affiché est en dehors de la page/ecran.
    Il n'y a pas une erreur de formulation là ?

    Pour sélectionner une feuilles, dans la barre des onglets à gauche, faire un clic droit sur les deux petites flèches, puis sélectionner la feuille voulue.
    Pour déplacer une feuille, cliquer et maintenir le clic, déplacer la feuille à l'endroit voulu.
    Lors d'une copie en VBA utiliser les paramètres Before ou After pour indiquer où sera copié la feuille :Méthode Worksheet.Copy (Excel) | Microsoft Learn
    Tu peux faire un déplacement en VBA en première place par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("MaFeuille").Move Before:=Worksheets(1)
    Explications ici Méthode Worksheet.Move (Excel) | Microsoft Learn

    J'espère avoir répondu à tes attentes, sinon fais une autre formulation plus explicite.

  4. #4
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Août 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2018
    Messages : 61
    Par défaut
    Parfois on pense être clair et il suffit d'une faute de frappe pour être à l'ouest

    Pour essayer d'être plus simple ...

    On peut cacher les tabs par .displayworbooktabs = false

    Sur ces objets tabs, ce que je veux faire c'est déplacer / faire glisser l'ensemble des tabs pour faire apparaître en vba ceux qui sont cachés.

    Pour l'exemple, j'ai un classeur avec 12 plannings, 12 bulletins de salaire et un récap soit 25 onglets de feuille, et quand l'utilisateur à partir d'un autre classeur demande l'ouverture de décembre, c'est bien évidemment "Décembre" qui s'affiche mais les onglets en bas affichent janvier à mai. Je souhaite donc à l'ouverture du classeur (ET oui, j'ai inversé AA et BB ci dans le premier post ) que tous les onglets glissent pour faire apparaître décembre en bas mais sans changer l'ordre des onglets !

    Suis-je plus clair ?

  5. #5
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour Burngun, et à tous,

    Mais en bas de page, le tab de l'onglet/feuille BB qui est affiché est en dehors de la page/ecran.
    Excel ouvre ton classeur où il veut et souvent plus bas que le précédent.
    Tu peux le remonter avec ceci par exemple après l'ouverture :
    Cependant si ta fenêtre du nouveau classeur est plus grande cela risque de ne pas suffire alors tu peux l'adapter ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim hgt As Double, ptp As Double
        hgt = ActiveWindow.Height
        ptp = ActiveWindow.Top
        Workbooks.Open "AA" ' ton classeur bien sûr !
        ActiveWindow.Top = ptp - 10
        ActiveWindow.Height = hgt - 30
    Bien sûr tu peux adapter les -10 / -30 en fonction de ton environnement.

    Effectivement je n'avais pas très bien compris et pas vu ton message
    Si tu veux que l'onglet actif soit visible tu peux utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWindow.ScrollWorkbookTabs ActiveSheet.Index

  6. #6
    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
    @anasecu:
    Je ne sais pas ou tu vas chercher des trucs aussi compliqués, quand la solution est simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Wb As Excel.workbook
    Set Wb = ThisWorkbook
    Wb.Windows(1).WindowState = xlMaximized

  7. #7
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 508
    Par défaut
    Re,
    Suis-je plus clair ?
    Non,

    On peut cacher les tabs par .displayworbooktabs = false
    Non, là tu caches la barre des onglets et non pas les onglets. Pour cacher un onglet c'est : Feuil1.Visible = xlSheetHidden ou xlSheetVeryHidden selon le cas.

    Je souhaite donc à l'ouverture du classeur, que tous les onglets glissent pour faire apparaître décembre en bas mais sans changer l'ordre des onglets !
    En les faisant glisser tu change l'ordre non ? Sinon il faut cacher les onglets que tu ne veux pas voir, et non pas la barre d'onglets.

  8. #8
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    @deedolith

    @anasecu:Je ne sais pas ou tu vas chercher des trucs aussi compliqués, quand la solution est simple:
    En quoi le plein écran résout la demande de Burngun ???

  9. #9
    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
    Citation Envoyé par anasecu Voir le message
    @deedolith



    En quoi le plein écran résout la demande de Burngun ???
    Au pif: Mettre tous les éléments de l'interface graphique visible à l'écran.

  10. #10
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour à tous,
    Au pif: Mettre tous les éléments de l'interface graphique visible à l'écran.
    @deedolith
    Toi qui réclame que tout le monde fonctionne avec des normes draconiennes, tu donnes des conseils au pif : tu te moques toi même surtout que ce que Burngun voudrait voir n'est pas dans ton plein écran.

  11. #11
    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
    Citation Envoyé par anasecu Voir le message
    tu donnes des conseils au pif
    Question de bon sens:

    Tu as une fenêtre quelconque (on ne parle pas d'Excel) dont la position ou taille fait que des éléments de cette dernière ne sont pas affichés à l'écran (trop petite, trop grande, décalée sur la droite / haut / bas ect ...).
    Quel est le plus simple:

    1) Récupérer la taille de l'écran (tous les écrans ne sont pas en 1920x1080).
    récupérer la taille de la fenêtre.
    récupérer les coordonnées de la fenêtre.
    calculer des coordonnées / taille acceptables.
    Appliquer les résultats.

    2) Faire appel à une fonctionnalité standard du système.

    j'ai choisit une solution: Au pif (Ou si tu préfères puisque tu n'as pas saisi le côté ironique: Celle qui a le plus de sens): La plus simple.

    Citation Envoyé par anasecu Voir le message
    Toi qui réclame que tout le monde fonctionne avec des normes draconiennes, .... tu te moques toi même surtout que ce que Burngun voudrait voir n'est pas dans ton plein écran.
    Je n'ai pas la science absolue, et il m'arrive de me tromper.
    Par expérience, je sais que programmer c'est difficile. Cela demande de la rigueur, de la discipline, de la remise en question permanente pour produire un travail de qualité.
    La solution la plus efficace est bien souvent la plus plus simple.

  12. #12
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Août 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2018
    Messages : 61
    Par défaut
    Merci à tous pour vos contributions.

    Ce que je souhaitais faire est effectivement en lien avec la proposition de anasecu :

    ActiveWindow.ScrollWorkbookTabs ActiveSheet.Index

    qui fonctionne parfaitement pour faire réapparaître le tabs caché.

    Et en toute humilité ... j'apprends encore et toujours sur la communication et ... ma communication

  13. #13
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour à tous,

    j'apprends encore et toujours sur la communication et ... ma communication


    @Burngun Merci pour ton retour et content d'avoir finalement compris ton souci : rassure toi tout le monde doit continuer à apprendre à communiquer car c'est un art très complexe et difficile.

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

Discussions similaires

  1. [Struts]personnaliser l'affichage avec des tags
    Par adrien.nicolet dans le forum Struts 1
    Réponses: 1
    Dernier message: 30/10/2005, 19h32
  2. affichage pellicule des dossiers
    Par cortex024 dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 11/10/2005, 11h12
  3. [C#] Affichage foireux des meshs
    Par Ingham dans le forum DirectX
    Réponses: 8
    Dernier message: 29/11/2004, 23h24
  4. Réponses: 6
    Dernier message: 19/10/2004, 13h46
  5. [débutant][JSplitPane] Centrage des composants
    Par Invité dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 17/06/2004, 19h11

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