Lorsque vous imprimez des documents à partir de Word avec VBA, il est possible de sélectionner le bac d’imprimante à partir duquel le document est censé obtenir une feuille. Dans Excel, vous n’avez pas la possibilité de définir les propriétés FirstPageTray ou OtherPagesTray comme vous le pouvez dans Word. Il est possible de créer une solution simple en utilisant SendKeys.

Voici deux exemples de macros:

Sub ChangeTray()

' selects the manual page tray without printing

Application.SendKeys "%fu%e{TAB}{DOWN}{DOWN}{TAB}m~{ESC}", True

End Sub

Sub ChangeTrayAndPrint()

' selects the manual page tray and prints the selected sheet(s)

Application.SendKeys "%fu%e{TAB}{DOWN}{DOWN}{TAB}m~~", True

End Sub

Les exemples de macros ci-dessus fonctionneront avec la version norvégienne d’Excel97 avec une imprimante à bulles Canon.

Le contenu de la chaîne de texte que vous transférez avec SendKeys peut être différent d’un ordinateur à l’autre en fonction de la version d’Excel et de l’imprimante installée. Vous devrez modifier les macros ci-dessus pour les faire fonctionner pour vous sur votre ordinateur.

Vous trouverez une liste complète des caractères spéciaux qui remplacent les touches de fonction spéciales dans l’aide intégrée pour VBA, tapez SendKeys dans un module, sélectionnez le mot et appuyez sur la touche F1.