Bug dans un code - merci de votre aide

matiousky

XLDnaute Junior
Bonjour à tous, j'ai un bug dans le code suivant pouvez-vous m'aider?

Ce code a pour objet:
- sous condition en M12
- une feuille "Synthèse client" s'ouvre
- le Tableau Croisé Dynamique qu'elle comporte est actualisé
- ce tableau est mis en forme
- la feuille s'imprime sur l'imprimante configurée par réseau (au passage je voudrai imprimer 2 exemplaires...)
- la feuille se refermer

- sinon une msg box s'ouvre

Cependant mon code bloque au niveau:
Sheets("Synthèse client").PrintOut

Avec comme message d'erreur:
'Erreur d'execution' 1004
Erreur de l'impression sur "mon imprimante"
Le fichier n'a pas été imprimé.
Raisons possibles:
- la mémoire disponible est peut etre insuffisante. Essayer de fermer les documents et programmes que vous n'utilisez pas.
- Sivous utilisez une imprimante connectée à un réseau le problème

A noter que mon imprimante marche bien.

Voici le code:

Sub ImprimerClient()

If Range("M12").Value = 1 Then
Application.ScreenUpdating = False
Sheets("Synthèse client").Visible = True
Sheets("Synthèse client").PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
Sheets("Synthèse client").Select
Range("F10:H36").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("G13:H36").Select
Selection.NumberFormat = "#,##0"
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Sheets("Synthèse client").PrintOut
Sheets("Synthèse client").Visible = False
Application.ScreenUpdating = True
Else
MsgBox "L'impression de la synthèse client est impossible car vous n'êtes pas à 100% investit."
Exit Sub
End If

End Sub

Merci de votra aide,
Mat
 

matiousky

XLDnaute Junior
Re : Bug dans un code - merci de votre aide

Personne ne m'a répondu alors je reformule mon problème:

Je voudrai sous une condition (foncion SI) qu'une feuille ("Synthèse client")
qui est masquée s'ouvre, que le TCD qu'elle comporte s'actualise, qu'une mise en forme de la feuille soit faite, et que la feuille s'imprime en 2 exemplaires, enfin que la feuille se referme.

Mon code semble bon et je ne vois pas pourquoi il bug sur:
Sheets("Synthèse client").PrintOut

Merci de votre aide à tous,
Mat
 

Darnel

XLDnaute Impliqué
Re : Bug dans un code - merci de votre aide

Salut

as tu essayé de décomposer la ligne qui pose problème en selectionnant la feuille avant de lancer l'impression :
Exemple :
Sheets("Synthèse client").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=2

A+
 

matiousky

XLDnaute Junior
Re : Bug dans un code - merci de votre aide

Salut Darnel,

Merci de ton aide mais je connais ce code et ca ne marche pas.
En fait le problème vient de mon fichier et non du code.
Si j'applique ma macro à un ancien fichier elle marche.

Et toujours le même message d'erreur:

'Erreur d'execution' 1004
Erreur de l'impression sur "mon imprimante"
Le fichier n'a pas été imprimé.
Raisons possibles:
- la mémoire disponible est peut etre insuffisante. Essayer de fermer les documents et programmes que vous n'utilisez pas.
- Si vous utilisez une imprimante connectée à un réseau le problème vient peut être de la connection ou du pliote d'imprimante
- Entre votre ordinateur et le réseau, les cables sont peut-etre mal branchés ou les connection defectueuses

Je ne vois que la premiere raison car mon imprimante fonctionne correctement.

Pouvez-vous m'aider?
Merci
Mat
 

Discussions similaires

Statistiques des forums

Discussions
312 319
Messages
2 087 213
Membres
103 494
dernier inscrit
JP9231