De nombreuses imprimantes disponibles sur le marché ces jours-ci ont des capacités étonnantes. La plupart de ces fonctionnalités sont accessibles en utilisant la boîte de dialogue Imprimer et en cliquant sur le bouton Propriétés à côté du nom de l’imprimante. Lorsque vous développez vos propres macros, vous vous demandez peut-être s’il est possible d’accéder à ces fonctionnalités à partir de la macro.

Malheureusement, il ne semble pas que cela puisse être fait car les pilotes d’imprimante ne rendent généralement pas les fonctionnalités des imprimantes disponibles d’une manière qui peut être comprise et accessible à partir du modèle d’objet utilisé par VBA. (Boy, était-ce une bouchée!) Au lieu de cela, vous devriez utiliser l’API Windows réelle, et même dans ce cas, toutes les fonctionnalités peuvent ne pas être accessibles.

Cependant, certaines solutions de contournement peuvent être utilisées. Vous pouvez utiliser VBA pour sélectionner différentes imprimantes vers lesquelles vous pouvez diriger votre sortie. Cela signifie que vous pouvez créer différentes définitions d’imprimante, sous Windows, puis utiliser ces définitions comme cible pour votre sortie.

Par exemple, vous pouvez utiliser le dossier Imprimantes de Windows pour configurer une imprimante nommée HP Regular Paper. Cette définition d’imprimante peut être définie pour imprimer sur du papier ordinaire, par défaut. Vous pouvez ensuite configurer une autre définition d’imprimante nommée Papier glacé HP et la configurer pour qu’elle imprime, par défaut, dans un bac pouvant contenir du papier glacé. Une fois les deux imprimantes définies, vous pouvez ensuite utiliser VBA pour basculer entre les deux. Par exemple, si vous souhaitez imprimer sur la définition d’imprimante pour le papier glacé, vous pouvez utiliser ce qui suit dans votre macro:

Application.ActivePrinter = "HP Glossy Paper"

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (2530) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Controlling_the_Printer_in_a_Macro [Contrôle de l’imprimante dans une macro].