Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
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
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,
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.
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,
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,
- 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.
C'est un moyen d'accéder rapidement à d'autres fonctionnalités comme celles du bureau par exemple.