formateur informatique

Macros VBA Word pour réorganiser l'espace de travail

Accueil  >  Bureautique  >  Word  >  Word VBA  >  Macros VBA Word pour réorganiser l'espace de travail
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Inscription Newsletter
Sujets que vous pourriez aussi aimer :


Organiser les fenêtres

Word comme tout logiciel propose une fonctionnalité permettant de fractionner l'affichage afin de disposer plusieurs documents côte à côte ou les uns en dessous des autres. Et il est très simple d'obtenir le code avec une macro enregistrée. Mais VBA offre une méthode intéressante que les macros ne livrent pas. Cette astuce propose de la découvrir.



Fractionner l'affichage des fenêtres
Pour la mise en place de cette nouvelle astuce, il est intéressant de débuter les travaux à partir de trois nouveaux documents par exemple. Pour les différencier, il est opportun d'inscrire un texte différent sur chacun d'entre eux comme : Document 1, Document 2 et Document 3 par exemple.
  • Depuis l'un des documents, réaliser le raccourci clavier ALT + F11,
Nous basculons ainsi dans l'éditeur VBA Word.
  • Dans l'explorateur de projet sur la gauche, double cliquer sur l'élément ThisDocument,
De cette manière, nous affichons au centre de l'écran la feuille de code qui concerne le document actif.
  • Dans cette feuille de code, créer la procédure fractionner comme suit :
Sub fractionner()

End Sub
  • Dans les bornes de la procédure, ajouter la ligne de code suivante :
Sub fractionner()
Windows.Arrange
End Sub


Méthode VBA Word pour fractionner affichage des documents

Cette méthode Arrange de l'objet VBA Windows ne fractionne pas. Elle réduit l'espace occupé par les fenêtres en fonction de leur nombre. Cette action est donc visuelle. Pour constater les effets en temps réel, nous devons revenir sur le document.
  • Réaliser le raccourci clavier Alt + Tab pour basculer sur le document actif,
  • En haut de la fenêtre Word, cliquer sur l'onglet Développeur pour afficher son ruban,
S'il n'est pas visible dans votre environnement, vous devez premièrement cliquer droit n'importe où sur le ruban actif. Puis, dans le menu contextuel qui s'invite, vous devez choisir l'option Personnaliser le ruban. Dès lors, dans la liste de droite de la boîte de dialogue qui apparaît, vous devez cocher la case Développeur. Il ne vous reste plus qu'à cliquer sur le bouton Ok en bas de la boîte de dialogue pour valider l'intégration du nouveau ruban.
  • Dans la section Code du ruban Développeur, cliquer sur le bouton Macros,
  • Dans la boîte de dialogue qui suit, cliquer sur la ligne de la macro fractionner,
  • Enfin, cliquer sur le bouton Exécuter à droite de la boîte de dialogue,
Exécuter une macro VBA Word depuis une boîte de dialogue

Aussitôt et comme vous pouvez le voir, la vue se réorganise. L'espace est partagé horizontalement et équitablement entre les trois documents ouverts.

Partager affichage des documents avec une macro VBA Word



Réduire les fenêtres
Maintenant, nous proposons d'aborder un autre type de réorganisation de l'espace de travail. Il est question de réduire toutes les fenêtres Word ouvertes à l'état d'icônes. A l'occasion de l'astuce VBA Word précédente, nous avons découvert comment parcourir tous les paragraphes d'un document grâce à la précieuse et puissante boucle VBA For Each. Grâce à elle encore une fois, nous envisageons de parcourir toutes les fenêtres Word ouvertes pour les minimiser dans la barre des tâches, à l'aide d'un seul clic sur un bouton de macro. Mais pour que le code soit maître de tous les documents enfants, il doit être écrit et exécuté depuis le modèle Word, le normal.dotm.

Avant de commencer, il est opportun de maximiser l'affichage des trois documents Word qui ont subi l'impact du code VBA précédent.
  • Revenir dans l'éditeur de code VBA Word (Alt + F11),
  • Dans l'explorateur de projet, cliquer sur l'élément Normal,
  • En haut de la fenêtre, cliquer sur le menu Insertion,
  • Dans la liste des propositions, choisir l'option Module,
Nous créons ainsi un nouveau module de code VBA prêt à accueillir de nouvelles procédures et de nouvelles fonctions. Sa feuille de code est au centre de l'écran. Elle est vierge pour l'instant.
  • Dans la feuille de code, créer la procédure reduire, comme suit :
Sub reduire()

End Sub


Comme nous l'avons appris, pour parcourir tous les éléments d'un groupe, nous avons besoin de déclarer une variable du même type que le groupe. Et, il s'agit d'un groupe de fenêtres.
  • Dans les bornes de la procédure, ajouter la déclaration suivante :
Sub reduire()
Dim Fenetre As Window

End Sub


Nous déclarons donc une variable que nous nommons explicitement Fenetre et que nous typons comme un objet de fenêtre (Window). Grâce à elle, nous allons pouvoir parcourir toutes les fenêtres Word ouvertes, donc tous les documents en cours.
  • Pour cela, initier la boucle For Each comme suit :
Sub reduire()
Dim Fenetre As Window

For Each Fenetre In Windows

Next Fenetre


End Sub


Windows est l'objet VBA qui représente toutes les fenêtres ouvertes. La traduction littérale de la boucle est donc la suivante : Pour chaque fenêtre dans les fenêtres Word ouvertes...

Il est donc question de les minimiser toutes à tour de rôle. Et pour cela, elles doivent être successivement activées par le code VBA dans un premier temps.
  • Dans les bornes de la boucle, ajouter les instructions VBA suivantes :
Sub reduire()
Dim Fenetre As Window

For Each Fenetre In Windows
With Fenetre
.Activate
.WindowState = wdWindowStateMinimize
End With

Next Fenetre

End Sub


Nous l'avons appris lors des volets précédents, lorsque plusieurs actions ou paramétrages sont à entreprendre sur un même objet, un bloc VBA With permet d'optimiser et de structurer le code. Grâce à lui, pour la fenêtre en cours d'analyse par la boucle, nous l'activons premièrement grâce à la méthode Activate d'un objet de type Window, puis nous la minimisons dans la barre des tâches. Et pour cela, nous exploitons sa propriété WindowState que nous affectons à la valeur wdWindowStateMinimize.
  • Enregistrer les modifications (CTRL + S) et fermer l'éditeur VBA Word,
  • Puis basculer sur un document Word (ALT + Tab),
Cette fonctionnalité est intéressante. Et comme elle est désormais stockée dans le modèle Word, il est opportun de la matérialiser par un bouton facilement accessible depuis un ruban.
  • Cliquer droit n'importe où sur le ruban actif,
  • Dans le menu contextuel, choisir la commande Personnaliser le ruban,
Une boîte de dialogue apparaît.
  • Dans la liste de droite, déployer l'affichage de l'onglet Outils,
  • Puis, déployer l'affichage de son groupe Navigation,
  • Dès lors, cliquer sur la ligne de sa dernière action,
Il s'agit d'un ruban et d'une section que nous avons créés à l'occasion des astuces précédentes. Si vous ne les possédez pas, vous devez les créer ou choisir une autre section d'un autre ruban pour implanter le nouveau bouton.
  • Déployer l'affichage de la zone déroulante au-dessus de la liste du centre,
  • Dans les propositions, choisir la catégorie des macros,
  • Sélectionner alors la macro reduire,
  • Puis, cliquer sur le bouton Ajouter au centre de la boîte de dialogue,
Bouton de macro VBA Word pour réduire toutes les fenêtres dans un ruban personnalisé



Cette action a pour effet d'ajouter le bouton associé à la macro VBA, à la suite dans la section Navigation du ruban Outils.
  • Dès lors, cliquer sur le bouton Renommer en bas de la boîte de dialogue,
  • Dans la nouvelle boîte, saisir l'intitulé Reduire,
  • Puis choisir une icône représentative de l'action entreprise,
  • Cliquer alors sur le bouton Ok pour valider ces réglages,
Renommer bouton de macro VBA Word avec icône graphique

  • Cliquer de nouveau sur le bouton Ok pour valider la création du bouton,
  • En haut de la fenêtre Excel, cliquer sur l'onglet Outils pour activer son ruban,
  • Dès lors dans la section Navigation, cliquer sur le bouton Reduire fraîchement créé,
Comme vous pouvez le voir, toutes les fenêtres Word ouvertes sont instantanément réduites en icônes dans la barre des tâches du système d'exploitation Windows.

Réduire toutes les fenêtres Word en icônes dans la barre des tâches avec un bouton de macro VBA

C'est un moyen d'accéder rapidement à d'autres fonctionnalités comme celles du bureau par exemple.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn