Problème formule vba excel

Résolu
cs_akmer Messages postés 43 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 9 septembre 2008 - 16 avril 2008 à 14:28
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 - 16 avril 2008 à 16:49
Bonjour,
J'ai crée un petit programme sous Excel 2003 avec vba, il marche très bien sur mon pc, mais cependant su certain autres pc ce logiciel déconne et quand je fais le débogage la ligne "PrintQuality= 600" est en jaune,a quoi correspond ce code vba, que veut il dire, et pourquoi sur d'autre pc cela marches très bien??
Je vous fourni l'ensemble de la macro ou apparait ce code, cette macro consiste a faire la mise en page d'une feuille
Voici les codes:
Sub miseenpage()
'
' miseenpage Macro
' Macro enregistrée le 09/04/2008 par 999235826

Sheets("Etat des décisions").Select

With ActiveSheet.PageSetup
.PrintTitleRows = "$3:$3"
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = "Page &P de &N"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.393700787401575)
.RightMargin = Application.InchesToPoints(0.393700787401575)
.TopMargin = Application.InchesToPoints(0.393700787401575)
.BottomMargin = Application.InchesToPoints(0.590551181102362)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0.511811023622047)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
End With

End Sub

Merci d'avance pour votre aide

2 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
16 avril 2008 à 16:49
Salut,

mais ! comment ca le VB6 le VBA c'est du pareil au meme !... a mais non ma p'tit dame ! imaginer que l'on vous fasses un toucher rectale pour un mal de dent !... AAAH ! on rigole plus la hein ! Ben oui, quant on a mal aux dents on vas chez le dentiste pas chez le gastro-enterologue.  Donc le bon theme c'est par
la... oui oui la porte de droite entre les toilettes et local a poubelle.

[infomsg.aspx Thèmes] / [infomsgf_VISUAL-BASIC_1.aspx Visual Basic 6] / [infomsgt_LANGAGES-DERIVES_287.aspx Langages dérivés] / [infomsgt_VBA_244.aspx VBA]

maintenant venons en a ta question

cette option definit la qualité d'impression soit en horizontal soit en verticale soit les deux. La facon dont tu utilises cette
option definit la qualité d'impression pour les 2 directions. Le probleme est que certaine imprimante ne supporte pas cette option  pour la direction verticale. Comment faire ?

remplace cette ligne :

.PrintQuality = 600
 
par :

On Local Error Resume Next
.PrintQuality = 600
If Err <> 0 Then
    .PrintQuality(1) = 600  '<--- ici tu essais trouver la valeur qui vas bien
    Err.Clear
End If

explication : le fait d'ajouter (1) a l'option, PrintQuality, permet de definir la qualité d'impression uniquement dans la direction horizontal.

A+
3
madjb Messages postés 38 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 7 février 2014
16 avril 2008 à 16:00
Salut,


bizare en effet, moi ca ne amrche pas non plu s


mais en mettant 360 au lieu de 600 ça à l'air de fonctionner
0
Rejoignez-nous