Visual Basic for Applications (VBA) est le langage que les programmeurs utilisent pour étendre les fonctionnalités par défaut de Word. Avec VBA, les programmeurs peuvent automatiser la plupart des procédures manuelles étape par étape que les utilisateurs de Word exécutent régulièrement. La suppression d’une page blanche avec VBA consiste essentiellement en ces deux tâches : sélectionner une page et déterminer si cette sélection est vide ou non. L’un des principaux avantages de l’utilisation de l’ABV pour accomplir ces tâches est le temps épargné de ne pas avoir à les faire à la main.
Ouvrez n’importe quel document Word composé de plusieurs pages. Assurez-vous qu’au moins une ou deux pages ne comportent que des caractères non imprimables tels que les retours chariot ou les sauts de page et que les pages restantes comportent au moins un caractère imprimable.
Ouvrez l’environnement de développement intégré VBA (IDE) en appuyant sur Alt plus F11. Appuyez sur le titre de menu « Insérer », puis sur « Module » pour insérer un nouveau module dans votre document. Vous allez créer le programme VBA dans ce module.
Tapez ou collez la sous-routine suivante dans le nouveau module de code :
Public Sub deleteBlankPage()
Sélection.GoTo What:=wdGoToToBookmark, Nom:= »page ».
Fin Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-Sous-
Cette sous-routine demande à VBA d’aller vers un signet caché spécifique que Word maintient pour chaque document. Le signet caché s’appelle « page » et renvoie à la page qui poursuit la sélection en cours ou le point d’insertion.
Tapez ce code dans la zone sous l’énoncé de l’étape précédente qui commence par « Sélection » :
Si estBlankSelection Alors
Sélection.effacer.effacer.la.sélection.de.la.sélection.de.la.sélection.de.la.sélection.de.la.sélection.de.la.sélection.de.la.sélection.de.la.sélection.de.la.sélection.de.la.sélection.de.la.sélection.sélection.de.la.sélection.de.la.sélection.de.la.sélection.sélection.de.la.sélection.sélection.
Fin Si
Cette portion de code demande à VBA d’appeler une fonction (que vous écrirez dans une étape ultérieure) qui détermine si la sélection actuelle est vierge ou non. Si c’est le cas, le code demande à VBA d’effacer la sélection.
Tapez le code suivant après l’instruction « End Sub » pour implémenter la fonction « isBlankSelection » :
Public Function isBlankSelection()
Pour chaque c Dans Selection.Characters
Si (c <> ; vbCr Et c <> ; vbTab Et c <> ; vbFormFeed Et c <> ; vbFormFeed Et c <> ; » « ) Ensuite
Fin Si
Suivant
isBlankSelection = Vrai
Fonction de fin
Cette fonction effectue une série d’itérations (i.e. « boucle ») à travers les caractères individuels du texte actuellement sélectionné. Le bloc de code « if » effectue une série de tests sur le caractère pour déterminer si le caractère est vierge. « Blank » est défini comme ces caractères non imprimables : retour chariot, tabulation, saut de page, saut de page ou espace. Si le caractère actuellement testé n’est aucun de ceux qui viennent d’être mentionnés, la fonction signale immédiatement « Faux », ce qui signifie que la sélection n’est pas vide.
Appuyez sur Alt+F11 pour revenir au document Word et cliquez sur n’importe quelle page avec des caractères non imprimables.
Appuyez sur Alt+F8 pour afficher la liste des macros VBA, puis double-cliquez sur l’élément « deleteBlankPage » pour exécuter la macro. Votre programme sélectionnera, puis supprimera la page.
Cliquez sur n’importe quelle page avec des caractères visibles et relancez le programme. Cette fois, le programme n’effacera pas la page.
Laisser un commentaire