Imprimer depuis un module VBA
Résolu
Mistral_13200
Messages postés
636
Date d'inscription
Statut
Membre
Dernière intervention
-
Oz -
Oz -
Bonjour,
Bonjour à tous,
J'ai créé un classeur Excel dans lequel j'ai un module Vba pour l'impression. Ce classeur est à la disposition de plusieurs dizaines d'utilisateurs. Il fonctionne très bien et il est apprécié de tous. Cependant on me demande de l'améliorer en permettant de choisir l'imprimante (dans le cas ou plusieurs imprimantes sont reliées à l'ordinateur) ou de choisir la qualité d'impression. Pour cela je souhaiterais que dans ma macro impression ci-dessous faire appel et afficher la boîte de dialogue «Imprimer» mais je n'y parviens pas !
Indépendamment de cette modification le classeur et l'impression fonctionnent très bien.
Pouvez-vous m'aider ?
D'avance merci.
Mistral
Bonjour à tous,
J'ai créé un classeur Excel dans lequel j'ai un module Vba pour l'impression. Ce classeur est à la disposition de plusieurs dizaines d'utilisateurs. Il fonctionne très bien et il est apprécié de tous. Cependant on me demande de l'améliorer en permettant de choisir l'imprimante (dans le cas ou plusieurs imprimantes sont reliées à l'ordinateur) ou de choisir la qualité d'impression. Pour cela je souhaiterais que dans ma macro impression ci-dessous faire appel et afficher la boîte de dialogue «Imprimer» mais je n'y parviens pas !
Sub ImpressionTableau() Dim p As Integer 'Application.ScreenUpdating = False ' Bloque le rafraîchissement de l'écran. 'Application.EnableEvents = False ' Arrêt de la scrutation. If Sheets("Bordereau").Range("A28").Value = "" Then ' Test si la 1ere cellule utilisée, A28. MsgBox ("Le Tableau n'a pas été rempli !" & vbCrLf & " " & vbCrLf & "Il n'y a donc rien à imprimer."), vbCritical, "Fédération Trucmuche" Exit Sub End If 'Définit la zone complète Sheets("Tableau").PageSetup.PrintArea = "$A$1:$N$235" ' Partie de la feuille utilisée. p = Nb_LigneBdx ' Saut à la fonction Nb_LigneBdx p = Nb_PagesBdx(p) ' Saut à la fonction Nb_PagesBdxN2 With Sheets("Tableau") .Visible = True .PrintOut from:=1, To:=p .Visible = False End With Application.ScreenUpdating = True ' Rétablis le rafraîchissement de l'écran. Application.EnableEvents = True ' Remise en service de la scrutation. End Sub ' Calcule et renvois le N° de la dernière ligne non vide. Function Nb_LigneBdx() As Integer Dim I As Integer For I = 28 To 235 If Sheets("Tableau").Range("A" & I).Value = "" Then Exit For ' Test la première cellule vide de la colonne A. Next I Nb_LigneBdx = I - 1 End Function ' Calcule et renvois le Nb de page. Function Nb_PagesBdx(Lignes As Integer) As Integer Select Case Lignes Case 1 To 58: Nb_PagesBdx = 1 Case 59 To 110: Nb_PagesBdx = 2 Case 111 To 162: Nb_PagesBdx = 3 Case 163 To 214: Nb_PagesBdx = 4 Case Is > 214: Nb_PagesBdx = 5 End Select End Function
Indépendamment de cette modification le classeur et l'impression fonctionnent très bien.
Pouvez-vous m'aider ?
D'avance merci.
Mistral
A voir également:
- Application.dialogs(xldialogprint).show
- Journal de naissance gratuit a imprimer - Télécharger - Histoire & Religion
- Comment imprimer en a5 - Guide
- Imprimer un tableau excel - Guide
- Persistence module - Forum logiciel systeme
- Parole de chanson francaise gratuite à imprimer - Télécharger - Vie quotidienne
37 réponses
Bonjour,
Pour choisir une imprimante
et tu as normalement le bouton "propriétés de l'imprimante"
cette syntaxe ne marche peut-être pas en réseau (je suis en mono poste) dans ce cas il faudrait utiliser WMI... Tu dis.
Michel
Pour choisir une imprimante
Application.Dialogs(xlDialogPrint).Show
et tu as normalement le bouton "propriétés de l'imprimante"
cette syntaxe ne marche peut-être pas en réseau (je suis en mono poste) dans ce cas il faudrait utiliser WMI... Tu dis.
Michel
Bonjour Michel,
Merci pour ta réponse et pour ta rapidité.
J'ai fais un test sur un simple classeur et ça fonctionne correctement tout au moins pour les proprietés de l'imprimante. Il me reste à tester ça avec plusieurs imprimantes.
Par contre je n'arrive pas à intégrer cette ligne dans mon module tout en conservant le calcule du nombre de page à imprimer.
As-tu une idée
Cordialement
Mistral
Merci pour ta réponse et pour ta rapidité.
J'ai fais un test sur un simple classeur et ça fonctionne correctement tout au moins pour les proprietés de l'imprimante. Il me reste à tester ça avec plusieurs imprimantes.
Par contre je n'arrive pas à intégrer cette ligne dans mon module tout en conservant le calcule du nombre de page à imprimer.
As-tu une idée
Cordialement
Mistral
Re,
En fait j'ai beaucoup de difficullté pour comprendre tous les arguments (15 en tout) de l'instruction :
J'arrive bien à valider le N° des pages à imprimer (de 2 à [p]) ainsi que le nombre d'exemplaire (7) mais je n'arrive pas à valider l'option "Pages(s)" et pourtant le mets bien le 15iem argument à 1.
Aurais-tu une idée ou une solution à me proposer.
Cordialement
Mistral
En fait j'ai beaucoup de difficullté pour comprendre tous les arguments (15 en tout) de l'instruction :
Application.Dialogs(xlDialogPrint).Show(, 2, [p], 7, , , , , , , , , , , 1)
J'arrive bien à valider le N° des pages à imprimer (de 2 à [p]) ainsi que le nombre d'exemplaire (7) mais je n'arrive pas à valider l'option "Pages(s)" et pourtant le mets bien le 15iem argument à 1.
Aurais-tu une idée ou une solution à me proposer.
Cordialement
Mistral
Bonjour,
Essayer avec ce code qui vous permet de choisir l'imprimante (clic OK pour valider le choix) :
Ou avec ceci:
Le Pingou
Essayer avec ce code qui vous permet de choisir l'imprimante (clic OK pour valider le choix) :
Application.Dialogs(Excel.xlBuiltInDialog.xlDialogPrinterSetup).ShowEt dans votre code vous récupérez le nom de l'imprimante active que vous placez comme argument supplémentaire de
PrintOut .PrintOut from:=1, To:=p .....
Ou avec ceci:
Sub choix_imprimante imprimante = Application.Dialogs(xlDialogPrinterSetup).Show Application.ActivePrinter = imprimante End SubSalutations.
Le Pingou
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour Le Pingou,
Tout d'abord merci te t'intéresser à mon problème.
J'ai voulu tester les deux solutions proposées mais je dois reconnaître que je m'y perds un peu.
Dans la première j'ai bien la fenêtre choix de l'imprimante qui s'ouvre, je peux effectivement la choisir et configurer l'impression avec la touche «Configurer» mais je ne vois pas comment récupérer le nom de l'imprimante ni comment l'insérer après.
Dans la seconde j'ai une erreur 1004 : La méthode ActivePrinter de l'objet Application a échoué.
Peux-tu m'aider Stp.
Cordialement
Mistral
Tout d'abord merci te t'intéresser à mon problème.
J'ai voulu tester les deux solutions proposées mais je dois reconnaître que je m'y perds un peu.
Dans la première j'ai bien la fenêtre choix de l'imprimante qui s'ouvre, je peux effectivement la choisir et configurer l'impression avec la touche «Configurer» mais je ne vois pas comment récupérer le nom de l'imprimante ni comment l'insérer après.
Dans la seconde j'ai une erreur 1004 : La méthode ActivePrinter de l'objet Application a échoué.
Peux-tu m'aider Stp.
Cordialement
Mistral
Bonjour,
L'instruction donnée par Le Pingou :
Réponse éditée pour l'ajout de ImprimanteInitiale permettant de rétablir les paramètres par défaut......
L'instruction donnée par Le Pingou :
imprimante = Application.Dialogs(xlDialogPrinterSetup).Showrenvoie "vrai" ou "faux". Vrai et faux n'étant pas des noms d'imprimante (;-)) je te recommande :
Sub choix_imprimante() Dim imprimante As String, ImprimanteInitiale As String ImprimanteInitiale = Application.ActivePrinter Application.Dialogs(xlDialogPrinterSetup).Show imprimante = Application.ActivePrinter MsgBox imprimante Application.ActivePrinter = ImprimanteInitiale End Sub
Réponse éditée pour l'ajout de ImprimanteInitiale permettant de rétablir les paramètres par défaut......
Bonjour Mistral_13200,
Oui je peux vous aider, difficile de répondre sans voir le code que vous avez créé.. !
Note: concernant la première, je n'ai pas dit la touche [Configurer] mais : clic OK pour valider le choix, se qui est différent.
Salutations.
Le Pingou
Oui je peux vous aider, difficile de répondre sans voir le code que vous avez créé.. !
Note: concernant la première, je n'ai pas dit la touche [Configurer] mais : clic OK pour valider le choix, se qui est différent.
Salutations.
Le Pingou
Le Pingou,
Pijaku
Bonjour à vous deux,
Merci de consacrer de votre temps à régler mon problème.
La totalité du code de ma macro est dans mon tout premier message. Je rappellerais simplement que ce code fonctionne parfaitement tel qu'il est. Par contre certains utilisateurs me demande de le modifier pour avoir le choix de l'imprimante et de la qualité d'impression.
J'ai bien compris qu'il fallait valider le choix de l'imprimante avec OK, je voulais simplement dire que l'on pouvait également intervenir sur les paramètres de l'imprimante si on le souhaitait.
C'est bien dans l'intégration de l'imprimante par défaut dans ma macro que je bute et c'est précisément là que j'ai besoin de votre aide.
Maintenant si vous estimez que l'instruction
J'ai bien essaye :
Mais là je bute sur la manière de valider l'option page de la fenêtre «Imprimer». Je sais récupérer le Nb de page et Nb d'exemplaire et cela est indispensable pour n'imprimer que le Nb de page nécessaire.
En tout cas un grand merci à vous deux.
Cordialement
Mistral
Pijaku
Bonjour à vous deux,
Merci de consacrer de votre temps à régler mon problème.
La totalité du code de ma macro est dans mon tout premier message. Je rappellerais simplement que ce code fonctionne parfaitement tel qu'il est. Par contre certains utilisateurs me demande de le modifier pour avoir le choix de l'imprimante et de la qualité d'impression.
J'ai bien compris qu'il fallait valider le choix de l'imprimante avec OK, je voulais simplement dire que l'on pouvait également intervenir sur les paramètres de l'imprimante si on le souhaitait.
C'est bien dans l'intégration de l'imprimante par défaut dans ma macro que je bute et c'est précisément là que j'ai besoin de votre aide.
Maintenant si vous estimez que l'instruction
PrintOutn'est pas adaptée je n'ai rien contre le fait de changer mais je ne sais pas par quoi.
J'ai bien essaye :
Application.Dialogs(xlDialogPrint).Show(, 2, [p], 7, , , , , , , , , , , 1)
Mais là je bute sur la manière de valider l'option page de la fenêtre «Imprimer». Je sais récupérer le Nb de page et Nb d'exemplaire et cela est indispensable pour n'imprimer que le Nb de page nécessaire.
En tout cas un grand merci à vous deux.
Cordialement
Mistral
Bonjour,
Oui mais se n'est pas le code avec la correction qui ne fonctionne pas.
Dans se cas, les lignes de code que vous devez avoir juste après la ligne :
Remarque : dans la boite de dialogue vous choisissez l'imprimante et valider par OK.
Oui mais se n'est pas le code avec la correction qui ne fonctionne pas.
Dans se cas, les lignes de code que vous devez avoir juste après la ligne :
p = Nb_PagesBdx(p):
Application.Dialogs(Excel.XlBuiltInDialog.xlDialogPrinterSetup).Show Nom = ActivePrinter With Sheets("Tableau") .Visible = True .PrintOut from:=1, To:=p, ActivePrinter:=Nom .Visible = False End With
Remarque : dans la boite de dialogue vous choisissez l'imprimante et valider par OK.
Bonjour à tous,
A tout Hasard
Je n"ai pas trouvé une aide sur tes 15 aguments (...?...)et je ne comprend pas ce 1.... quand tu parles de "pages", s'agit il bien de pages à l'intérieur d'une "feuille" excel ?
pour trouver le nombre de pages par feuvlle, j'ai trouvé cette instruction sur un autre site
et pour imprimer:
mais....
A tout Hasard
Je n"ai pas trouvé une aide sur tes 15 aguments (...?...)et je ne comprend pas ce 1.... quand tu parles de "pages", s'agit il bien de pages à l'intérieur d'une "feuille" excel ?
pour trouver le nombre de pages par feuvlle, j'ai trouvé cette instruction sur un autre site
ExecuteExcel4Macro("GET.DOCUMENT(50)")
et pour imprimer:
FeuilN.PrintOut From:=1 To:=ExecuteExcel4Macro("GET.DOCUMENT(50)"
mais....
Bonjour Michel,
L'instruction :
Application.Dialogs(xlDialogPrint).Show(, 1, [p], 7, , , , , , , , , , , 1)
a 15 arguments de configuration possible qui sont :
range_num, from, to, copies, draft, preview, print_what, color, feed, quality, y_resolution, selection, printer_text, print_to_file, collate
J'arrive a configurer sans problème les pages que je souhaite imprimer (de 1 à p) et le nombre d'exemplaire à imprimer (7) voir l'exemple ci-dessus mais je n'arrive pas à valider l'option pages dans la partie "Etendue" de la boîte dialogue Imprimer, je reste sur "Tout" en permanence. J'imprime donc toute la feuille feuille du classeur soit 25 pages.
Cordialement
Mistral
L'instruction :
Application.Dialogs(xlDialogPrint).Show(, 1, [p], 7, , , , , , , , , , , 1)
a 15 arguments de configuration possible qui sont :
range_num, from, to, copies, draft, preview, print_what, color, feed, quality, y_resolution, selection, printer_text, print_to_file, collate
J'arrive a configurer sans problème les pages que je souhaite imprimer (de 1 à p) et le nombre d'exemplaire à imprimer (7) voir l'exemple ci-dessus mais je n'arrive pas à valider l'option pages dans la partie "Etendue" de la boîte dialogue Imprimer, je reste sur "Tout" en permanence. J'imprime donc toute la feuille feuille du classeur soit 25 pages.
Cordialement
Mistral
Bonjour Mistral_13200,
Une des solutions est ici : https://forums.commentcamarche.net/forum/affich-21020404-imprimer-depuis-un-module-vba#12
Je l'ai testé et elle fonctionne.
Est-il possible de savoir si chez vous c'est en ordre ?
Salutations.
Le Pingou
Une des solutions est ici : https://forums.commentcamarche.net/forum/affich-21020404-imprimer-depuis-un-module-vba#12
Je l'ai testé et elle fonctionne.
Est-il possible de savoir si chez vous c'est en ordre ?
Salutations.
Le Pingou
parce que "p" est une variable, elle est le résultat du calcule du nombre de page à imprimer.
Pour être plus précis, dans la partie Etendue de la fenêtre Imprimer il y a deux options : "Tout" et "Pages(s)" je voudrais basculer de "Tout" vers "Pages(s)" et je n'y arrive pas.
Pour être plus précis, dans la partie Etendue de la fenêtre Imprimer il y a deux options : "Tout" et "Pages(s)" je voudrais basculer de "Tout" vers "Pages(s)" et je n'y arrive pas.
Je suis un peu perdu au milieu de tous ces messages mais j'ai répondu à ta proposition, peut être pas dans le bon ordre et je te prie de bien vouloir m'excuser.
Je suis bien d'accord les variables sont respectées.
Il ne reste plus, visiblement plus facile à dire qu'à faire, a pouvoir modifier les paramètres d'impression tel que la qualité Normal/Brouillon ou encore N&B/Couleur.
Je suis bien d'accord les variables sont respectées.
Il ne reste plus, visiblement plus facile à dire qu'à faire, a pouvoir modifier les paramètres d'impression tel que la qualité Normal/Brouillon ou encore N&B/Couleur.
Re Le Pingou,
Cela semble effectivement fonctionner l'imprimante par défaut est bien reconnue. C'est déjà une bonne chose!
Par contre si je change la qualité d'impression ou si je choisi d'imprimer en N&B ou en couleur en utilisant le bouton "Configurer" de la fenêtre de dialogue rien ne se passe et pourtant je valide bien par Ok.
Mieux je dirais même que je garde les parametres d'impression du dernier parametrage manuel.
Je n'y comprends plus ruen....
Cordialement
Mistral
Cela semble effectivement fonctionner l'imprimante par défaut est bien reconnue. C'est déjà une bonne chose!
Par contre si je change la qualité d'impression ou si je choisi d'imprimer en N&B ou en couleur en utilisant le bouton "Configurer" de la fenêtre de dialogue rien ne se passe et pourtant je valide bien par Ok.
Mieux je dirais même que je garde les parametres d'impression du dernier parametrage manuel.
Je n'y comprends plus ruen....
Cordialement
Mistral
Bonjour,
Eh oui, Il ne reste plus, visiblement plus facile à dire qu'à faire, a pouvoir modifier les paramètres d'impression tel que la qualité Normal/Brouillon ou encore N&B/Couleur et pour que cela fonctionne il faut passer les paramètres choisies à la procédure.
Pouvez-vous mentionner exactement les paramètres qui seront autorisés pour l'utilisateur ?
Eh oui, Il ne reste plus, visiblement plus facile à dire qu'à faire, a pouvoir modifier les paramètres d'impression tel que la qualité Normal/Brouillon ou encore N&B/Couleur et pour que cela fonctionne il faut passer les paramètres choisies à la procédure.
Pouvez-vous mentionner exactement les paramètres qui seront autorisés pour l'utilisateur ?
Bonjour Mistral_13200,
Je viens d'effectuer des tests, avec le code que je vous ai proposé, en changeant les diverses valeurs de configuration, noir/blanc, couleurs, orientation (Portrait/Paysage) etc. et tout fonctionne parfaitement avec le code tel quel.
Je viens d'effectuer des tests, avec le code que je vous ai proposé, en changeant les diverses valeurs de configuration, noir/blanc, couleurs, orientation (Portrait/Paysage) etc. et tout fonctionne parfaitement avec le code tel quel.
Bonjour Le Pingou,
J'ai moi aussi fait d'autres essais hier au soir sur un autre ordi et une autre imprimante et là j'ai effectivement pu changer la qualité d'impression et la couleur. Malheureusement au club je n'ai pas d'imprimantes en réseau...
Je vais regarder pourquoi sur mon imprimante couleur je reste en N&B???
Quand j'aurais réglé mon problème et si tu le permets, je reviendrais vers toi si j'ai d'autres questions.
Encore un grand merci à vous trois pour votre aide.
Cordialement
Mistral
PS : Je serais absent jusqu'au 21/03
J'ai moi aussi fait d'autres essais hier au soir sur un autre ordi et une autre imprimante et là j'ai effectivement pu changer la qualité d'impression et la couleur. Malheureusement au club je n'ai pas d'imprimantes en réseau...
Je vais regarder pourquoi sur mon imprimante couleur je reste en N&B???
Quand j'aurais réglé mon problème et si tu le permets, je reviendrais vers toi si j'ai d'autres questions.
Encore un grand merci à vous trois pour votre aide.
Cordialement
Mistral
PS : Je serais absent jusqu'au 21/03
Re,
C'est exactement ce que je viens de faire et le problème persiste.
Ci-dessous le code complet avec lequel je fais mes tests et pour lequl je ne pense pas avoir commis d'erreur.
Si tu vois une anomalie merci de ma le signaler.
Me vider la tête ne me fera pas de mal...
Cordialement
Mistral
C'est exactement ce que je viens de faire et le problème persiste.
Ci-dessous le code complet avec lequel je fais mes tests et pour lequl je ne pense pas avoir commis d'erreur.
Sub ImpressionTableau() Dim p As Integer Application.ScreenUpdating = False ' Bloque le rafraichissement de l'écran. Application.EnableEvents = False ' Arret de la scrutation. If Sheets("Tableau").Range("A28").Value = "" Then ' Test si la 1ere cellule utilisée, A28. MsgBox ("Le Tableau n'a pas été saisi !" & vbCrLf & " " & vbCrLf & "Il n'y a donc rien à imprimer."), vbCritical, "Fédération Trucmuche" Exit Sub End If 'Définit la zone complète Sheets("Tableau").PageSetup.PrintArea = "$A$1:$N$235" ' Partie de la feuille utilisée. p = Nb_LigneBdx ' Saut à la fonction Nb_LigneBdx p = Nb_PagesBdx(p) ' Saut à la fonction Nb_PagesBdx 'p = 9 If Application.Dialogs(Excel.XlBuiltInDialog.xlDialogPrinterSetup).Show = False Then GoTo Line1 Else Nom = ActivePrinter With Sheets("Tableau") .Visible = True .PrintOut from:=1, To:=p, ActivePrinter:=Nom '.Visible = False 'A remettre dans la version difinitive. End With End If Line1: Application.ScreenUpdating = True ' Rétablis le rafraichissement de l'écran. Application.EnableEvents = True ' Remise en service de la scrutation. End Sub ' Calcule et renvois le N° de la dernière ligne non vide. Function Nb_LigneBdx() As Integer Dim I As Integer For I = 28 To 235 If Sheets("Tableau").Range("B" & I).Value = "" Then Exit For ' Test la première cellule vide de la colonne A. Next I Nb_LigneBdx = I - 1 End Function ' Calcule et renvois le Nb de page. Function Nb_PagesBdx(Lignes As Integer) As Integer Select Case Lignes Case 1 To 58: Nb_PagesBdx = 1 Case 59 To 110: Nb_PagesBdx = 2 Case 111 To 162: Nb_PagesBdx = 3 Case 163 To 214: Nb_PagesBdx = 4 Case Is > 214: Nb_PagesBdx = 5 End Select End Function
Si tu vois une anomalie merci de ma le signaler.
Me vider la tête ne me fera pas de mal...
Cordialement
Mistral
Bonjour,
La partie qui touche l'imprimante est correcte.
Pour éviter le [GoTo Line1] j'écrirais de cette manière :
Note: pour votre imprimante, assurez-vous que la modification des paramètres soit prise en compte directement sans passé par la procédure VBA.
La partie qui touche l'imprimante est correcte.
Pour éviter le [GoTo Line1] j'écrirais de cette manière :
If Application.Dialogs(Excel.XlBuiltInDialog.xlDialogPrinterSetup).Show = True Then Nom = ActivePrinter With Sheets("Tableau") .Visible = True .PrintOut from:=1, To:=p, ActivePrinter:=Nom '.Visible = False 'A remettre dans la version difinitive. End With End If
Note: pour votre imprimante, assurez-vous que la modification des paramètres soit prise en compte directement sans passé par la procédure VBA.
Bonjour L e Pingou,
Je reviens à la charge car ça ne fonctionne toujours pas. J'ai réinstallé mon imprimante est elle fonctionne normalement. Si je fais des essais d'impression manuellement par Fichier/Imprimer j'imprime bien en N&B ou en couleur selon mes choix. Idem pour la qualité d'impression Normal/Brouillon.
Par contre quand je fais des tests en utilisant la macro j'ai deux problèmes (A ce moment là l'imprimante est configurée couleur/Normal) :
1er essais : Je lance l'impression avec le bouton et je valide le choix par OK sans rien changer. L'impression est en N&B alors que l'imprimante était en couleur et qu'elle y est restée ! Pourquoi ?
2iem essais : Je lance l'impression et je configure l'impression en N&B puis je valide par OK. L'impression se fait bien en N&B (l'imprimante est OK vérification par Fichier/Imprimer) mais apparaît le 2iem problème, a savoir j'ai deux trait pointillé qui apparaissent sur le bord droit des cellules des colonnes G et N. Pourquoi ?
3iem essais : Je lance l'impression et je configure l'impression en Couleur puis je valide par OK. L'impression se fait en N&B alors que l'imprimante est bien passée en couleur (l'imprimante OK vérification par Fichier/Imprimer) !!!
Tous ces essais ont été fait sur le classeur dont le lien est ci-dessous :
http://www.cijoint.fr/cjlink.php?file=cj201103/cij3nbfyED.xls
Pouvez-vous m'aider car je n'y comprends vraiment plus rien.
Merci d'avance.
Cordialement
Mistral
Je reviens à la charge car ça ne fonctionne toujours pas. J'ai réinstallé mon imprimante est elle fonctionne normalement. Si je fais des essais d'impression manuellement par Fichier/Imprimer j'imprime bien en N&B ou en couleur selon mes choix. Idem pour la qualité d'impression Normal/Brouillon.
Par contre quand je fais des tests en utilisant la macro j'ai deux problèmes (A ce moment là l'imprimante est configurée couleur/Normal) :
1er essais : Je lance l'impression avec le bouton et je valide le choix par OK sans rien changer. L'impression est en N&B alors que l'imprimante était en couleur et qu'elle y est restée ! Pourquoi ?
2iem essais : Je lance l'impression et je configure l'impression en N&B puis je valide par OK. L'impression se fait bien en N&B (l'imprimante est OK vérification par Fichier/Imprimer) mais apparaît le 2iem problème, a savoir j'ai deux trait pointillé qui apparaissent sur le bord droit des cellules des colonnes G et N. Pourquoi ?
3iem essais : Je lance l'impression et je configure l'impression en Couleur puis je valide par OK. L'impression se fait en N&B alors que l'imprimante est bien passée en couleur (l'imprimante OK vérification par Fichier/Imprimer) !!!
Tous ces essais ont été fait sur le classeur dont le lien est ci-dessous :
http://www.cijoint.fr/cjlink.php?file=cj201103/cij3nbfyED.xls
Pouvez-vous m'aider car je n'y comprends vraiment plus rien.
Merci d'avance.
Cordialement
Mistral