Sur le système de Bob, Excel refuse d’imprimer sur une imprimante autre que celle définie par défaut pour le système. Cela ne se produit que dans Excel, pas dans Word ou dans toute autre application installée. Ainsi, pour imprimer, il doit temporairement remplacer l’imprimante par défaut par celle qu’il souhaite, imprimer, puis se rappeler de la remettre en place par la suite. Bob se demande pourquoi il ne peut pas choisir d’autres imprimantes.

Il peut y avoir un certain nombre de causes différentes à ce problème. Un abonné a signalé qu’il avait le même problème, mais qu’il ne s’est produit qu’après la migration de son bureau vers Windows 7 64 bits et l’utilisation de Windows PrintServer. Dans leur cas, ils ont découvert qu’il s’agissait d’un attribut caché dans les files d’attente d’impression à l’origine du problème et qu’ils ne pouvaient le résoudre qu’en discutant avec le support Microsoft.

D’autres ont signalé que le problème se produisait lorsque des compléments particuliers étaient installés sur le système. (L’une en particulier, la commande de recherche de Microsoft Office Labs, a été mentionnée à plusieurs reprises.) La désactivation du complément a résolu le problème.

Il y a une bonne discussion sur le problème et diverses solutions ici:

http://answers.microsoft.com/en-us/office/forum/office_2010-excel/excel-2010-only-prints-to-the-default-printer/5b6beddd-f85d-4fda-ab2b-56c750f2028c

Vous voudrez vous assurer que cela est entré dans votre navigateur en tant qu’URL unique; c’est assez long.

Si aucune des solutions suggérées ne fonctionne dans votre situation, vous pouvez essayer d’imprimer via des macros. Pourquoi? Parce que vous pouvez facilement modifier l’imprimante par défaut désignée dans la macro, puis la modifier. Tout est fait grâce à l’utilisation de la propriété ActivePrinter. Vous pouvez déterminer le nom de l’imprimante par défaut actuelle et l’affecter à une variable, changer d’imprimante, puis faire votre impression et enfin changer l’imprimante:

Dim sDefault As String sDefault = Application.ActivePrinter  'save current default printer Application.ActivePrinter = "XYZ SuperPrinter"

' do your printing Application.ActivePrinter = sDefault  'restore default

La seule chose que vous devez faire est de vous assurer que vous remplacez «XYZ SuperPrinter» par le nom réel de l’imprimante que vous souhaitez utiliser. Vous pouvez trouver le nom de l’imprimante en le définissant par défaut (sous Windows) puis, dans la fenêtre VBE Immediate, en imprimant le nom de l’imprimante:

? Application.ActivePrinter

Marquez le nom, en faisant attention à l’espacement et à la capitalisation, et c’est le nom que vous pouvez utiliser dans la macro d’impression.

_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 (12497) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.