Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 VBA - Réduire la largeur de la grille Excel

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dudu2

XLDnaute Barbatruc
Bonjour,

DataSnipper est un outil commercial ajoutant à Excel des fonctionnalités diverses.
Parmi ces fonctionnalités, la possibilité de visualiser des documents PDF directement dans Excel avec cette particularité (voir image ci-dessous) que la fenêtre Excel est divisée en 2 verticalement. La partie gauche contient la grille Excel, la partie droite contient probablement un Control ActiveX visualisateur PDF, je ne sais pas lequel ? Acrobat ? PDF-XChange Viewer ? Autre ?

La question est: comment est-il possible dans une fenêtre Excel de réduire la largeur de la grille Excel et ses ascenseurs comme le fait ce logiciel ?

 
Solution
La solution avec le XML Source Pane + UserForm a l'air complexe à mettre au point, sensible aux différentes configurations et sans doute cela ne vaut pas le coup de continuer. Toutefois si @patricktoulon donnait un fichier opérationnel je l'ajouterais dans la solution bien évidemment.

Pour ce qui me concerne, je suis satisfait de la solution sans volet qui jusque là n'a intéressé personne (ce que je comprends vu les essais en cours sur le volet) que je réplique ici comme solution.
La largeur de la fenêtre du document naturellement ajustable ajuste aussi la fenêtre XLDESK7 et un clic unique permet de basculer entre Excel et le document.
Même si elle n'est sans doute pas parfaite ni à l'épreuve des balles, chez moi ça fonctionne...
louche oui ,a moins que tu es le ruban caché
si tu masque le ruban c'est normal le tableau de dim et pos est pris dans l'instanté
apres peut être c'est normal selon votre version le parent est a zero mais en overlay autrement dit le child peut être plus grand et visible
j'en doute mais bon sait on jamais
mais si c'est ça alors il va falloir trouver un moyen de trouver une cote ou calcul qui va a tous sinon çà va être la bérizina
 
Avec UIAutomation , on peut avoir plus d'infos sur les interfaces utilisateurs qu'avec les API windows car il est capable d'avoir des infos même sur des objets qui n'on pas de handle (c'est le cas des applis Office). Voici ce que cela donne pour word par exemple :

on voit le nom des boutons : par exemple l'onglet Fichier et on a la taille et la position des boutons. On voit bien qu'il n'a pas de Handle donc pas visible par les Apis windows
 
partage la cette app uiauto que je puisse regarder moi aussi ce que ca donne en tout cas ton résultat uiauto est plus cohérent avec ma version partwordlistlist même si les dim ne sont pas les mêmes mais au moins c'est cohérent
ça voudrait dire qu'avec vos versions l'api getwindow serait a la ramasse la on est dans la mouise
 
Bonjour @nullosse
j'ai decouvert le pourquoi du comment ces différence et incohérence dans ton tableau de handle dans word
en fait c'est du a la fermeture de document qui etant docké ne benificie pas du savechange et close true
du coup a l'ouverture suivante les handles ne sont pas dans le bon ordre puisqu'il y a le volet des recents qui est enclenché voir aussi la petie fen^tre des 3 choix
du coup il a fallu que je prevois de netoyer tout ca maintenant ca marche nikel
et la hauteur du mask c'est tout simplment le top du rubban et cela c'est valable pour tous je crois
du coup je kill tout les procc de word a la fermeture (tant pis pour ceux ouverts en bureau) et je kille les document recent du registre
a chaque ouverture c'est propre et net du coup ma list de handle est toujours dans le même ordre et donc le handle et size sont toujours les mêmes

voila maintenant j'ouvre mes volet word sans problème c'est net et mon mask est toujours bien placé

punaise j'ai bien galéré avant de trouver

comme je vois depuis que je t'ai demandé ton app pour la liste UI tu a disparu je me suis fait le mien
c'est un outil que j'ai appelé Ui_Inspector_List bientot dispo dans les ressources

patrick
 
Salut patricktoulon,
moi j'ai arrêté cette solution de masquage car chez moi , le masque disparaît quand je fais une réduction puis remise du ruban et il doit y avoir d'autres cas de figures qui peuvent faire planter la fenêtre word (ça j"ai vu aussi le word qui disparaissait du volet), alors comme dudu2 je me dis que la solution la plus fiable c'est de ne pas mettre word dans une fenêtre mais l'afficher sur la moitié de l'écran. D'ailleurs word n'est pas prévu pour être mis dans une fenêtre.
Nullosse
 
perso j'ai trouver une autre solution qui elle est sans équivoque
le découpage de la fenêtre
c'est étonnant ce que tu me dis même en resizant la fenêtre excel la word ne bouge pas réellement de la ou on la placé et le mask non plus c'est les parent et ancestor qui bouge
pour info voila ou j'en sui pour mon ExcelUi_Inspector (Projet secondaire )

 
Bonsoir,
De mon coté, pour la solution "simple" du Post #165, j'ai apporté une petite souplesse dans l'ajustement de la fenêtre en largeur pour simuler un redimensionnement du XML Source Pane.



A propos du XML Source Pane, il est possible de le positionner au max pour augmenter la visibilité du document ouvert via chez vous un UserForm: Application.CommandBars("XML Source").Left = -10000
Sinon un chiffre négatif permet de le décaler à gauche selon une valeur que je n'ai pas cherché à déterminer.
 
Dernière édition:
Bonsoir @Dudu2
ben selon la logique c'est -largeur de XLDESK / 2
j'ai essayé ça marche mais ça décroche le userform
et en plus tu laisse la caption ce qui est problématique si on ferme par la croix Word (oui je sais tu a bricolé un truc)
 
Dernière édition:
Salut,
Ben en fait, j'ai l'impression que notre système n'intéresse pas grand monde, vu le peu d'intervenants dans la discussion. Mais si tu peux mettre une version que je teste pour voir si il n'y a pas de problème avec ma version d' Excel.
Nullosse
 
Bonjour @nullosse, @patricktoulon ,
Ben en fait, j'ai l'impression que notre système n'intéresse pas grand monde, vu le peu d'intervenants dans la discussion.
Perso j'ai décroché cause la complexité du code de la solution XML Source Pane + UserForm.
Je ne l'ai pas rapporté, mais le dernier.xlam(**) disponible ne fonctionnait pas très bien chez moi.
Alors j'attends aussi un fichier plus récent pour vérifier.
Quant aux autres XLDnautes, sans doute que la fonctionnalité ne représente pas pour eux un intérêt majeur ou que l'hyper-technicité de la discussion et du code en perdent plus d'un.

Edit: (**) à ce propos, je préfèrerais un .xlsm qu'il suffit d'enregistrer en .xlam et ça va dans le bon répertoire sans se poser de question.
 
Dernière édition:
PatrickToulon , j'ai retrouvé le truc mortel avec mon Excel 2021 64 bits qui fait foirer le système Volet/Userform/Word. Avec un document word chargé dans le volet, quand je clique sur Fichier de mon Excel et que je reviens dans mon classeur il n'y a plus rien dans le volet et si je regarde dans les processus il y a un word fantôme. Il faut faire fermer le volet pour détruire ce processus. Et ça le fait aussi avec les autres applis. J'utilise ton complément xlam Taskpane_RW v2.0. On va quand même pas masquer l'onglet Fichier d'Excel 😱 . ça risque de devenir une usine à gaz.

L'explication de MatouGPT :
Quand tu passes au Backstage (menu Fichier), Office ferme temporairement tous les volets de tâches pour libérer l’interface.
Techniquement, le DOM du volet est déchargé
 
Dernière édition:
Bonjour
oui de tout façon il y a plein de chose qui peuvent l'amener a disparaitre ou passer en dessous
c'est quand même pour ça que je refaire le docking dans le XLDESK
d'accords on a pas le slide mais avec l'event resize ou autre events dans thisworkbook on peut maitriser le retour du word docké

essai celui la et dis moi si la découpe de Word se fait bien
normalement a la place du bouton tu devrais voir le fond jaune du userform
pour le moment il est docké en xldesk
ce qui m’intéresse ici c'est la découpe je mlettrais le resize plus tard
 

Pièces jointes

Résultat chez moi (même config que @nullosse)
Ouvrir Word / Fermer Word -> OK
Clic sur Fichier -> Word disparait
- Enchainer sur Ouvrir Word -> la fenêtre jaune descend à hauteur de la ligne 26
- Enchainer sur Fermer Word -> Erreur 462 (normal, Word n'est plus là)
 
C'est le "Fichier" d'Excel dont je parle plus haut. avec cet essai V3 cela ne fait pas disparaître la fenêtre word chez moi. Par contre le cache est trop haut et comme la fenêtre Word est déplaçable cela fait disparaître complétement le cache :
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
931
Réponses
0
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…