Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/10/2011, 14h16   #1
Invité de passage
 
Homme
Divers
Inscription : septembre 2011
Messages : 16
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Divers

Informations forums :
Inscription : septembre 2011
Messages : 16
Points : 4
Points : 4
Par défaut PrintQuality et test

Bonjour tout le monde,

Je vous remercie pour votre aide à venir. Je n'arrive pas récupérer la qualité d'impression à partir d'une fonction.

Ou plutôt, j'arrive à la récupérer, mais je n'arrive pas à la "manipuler", la variable retournée est du type variant, mais je n'arrive rien à en faire. Outre les exemple ci-dessous, j'ai tenté un if pour savoir quelle était la valeur. Avec > 1 il me retourne vrai et avec < 2 il me retourne faux... Je galère, pourtant cela devrait être tout simple.

voilà les exemples les 2 premiers fonctionnes, la suite pas!!!

En vous remerciant de votre aide.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Function version1(Optional a As Variant)
    Application.Volatile
    version1 = (ActiveSheet.PageSetup.PrintQuality) "Fonctionne et me donne  (qualité brouillon)"
End Function
 
Function version2(Optional a As Variant) "Fontionne et me donne -1 (qualité brouillon)"
    Application.Volatile
    Dim x As Variant "je ne sais pas comment déclarer autrement, en string ou integer, cela ne fonctionne pas"
    x = (ActiveSheet.PageSetup.PrintQuality)
    version2 = (x)
End Function
 
Function version3(Optional a As Variant) " Fontionne pas et me donne Valeur"
Application.Volatile
    Dim x As Integer, y As String
 
    x = (ActiveSheet.PageSetup.PrintQuality)
    If x = -1 Then
        y = "qualité brouillon"
    End If
 
    version3 = (y)
 
End Function
 
Function version4(Optional a As Variant) "Fontionne pas et me donne Valeur"
Application.Volatile
    Dim x As Integer, y As String
 
    x = (ActiveSheet.PageSetup.PrintQuality)
    Select Case (x)
    Case Is = -1
        y = "qualité brouillon"
    End If
 
    version4 = (y)
 
End Function


Ca fait un bon moment que je cherche mais je ne trouve pas. Pourtant, j'ai utilisé le même principe pour le format (paysage et portrait) et la ça fonctionne.

En vous remerciant
Thebeginner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 15h35   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Bonjour,

pour imprimer en brouillon
Code :
ActiveSheet.PageSetup.Draft = True
False pour désactiver le mode brouillon
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 16h08   #3
Invité de passage
 
Homme
Divers
Inscription : septembre 2011
Messages : 16
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Divers

Informations forums :
Inscription : septembre 2011
Messages : 16
Points : 4
Points : 4
Bonjour Jérôme,

Merci pour ta réponse,

Mais malheureusement si je test avec la fonction suivante:

Code :
1
2
3
4
5
Function test1(Optional a As Byte)
 
test1 = (ActiveSheet.PageSetup.Draft)
 
End Function

La fonction me retourne toujours "Faux", même si la qualité sélectionnée est "brouillon".

De plus l'idée est également de pouvoir récupérer la qualité si elle est "Haute"; "Moyenne" ou "basse".

As-tu une solution?

Merci beaucoup.

Elle n'est pas sexy ma question?


J'avoue être débutant et ne pas savoir si c'est trop simple comme question, mal formulé ou si c'est en fait plus difficile que cela en a l'air?

En vous remerciant beaucoup.
Thebeginner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 21h49   #4
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Il me semble que pour changer la qualité, il faut faire comme cela

Basse qualité
Code :
Me.PageSetup.PrintQuality = Array(300, 300)
Moyenne Qualité
Code :
Me.PageSetup.PrintQuality = Array(600, 600)
Haute Qualité
Code :
Me.PageSetup.PrintQuality = Array(1200, 1200)

le nombre de ppp dépend de ton imprimante
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h27.


 
 
 
 
Partenaires

Hébergement Web