Problème formule vba excel

Résolu
Signaler
Messages postés
43
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2008
-
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
-
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

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
11
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+
Messages postés
38
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
7 février 2014

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