Cherche a faire accepté le parametre 0 à une macro

eleck

XLDnaute Nouveau
Bonjour,

Je vous presente une tite macro de ma conception qui lance des copies sans filigrane et avec selon des parametres variables definis par des msgbox.

Sub Imprimeavecfiligrammeoriginal()

' fait pour imprimer des factures sans filigrane original et avec filigrane orignial

c = InputBox("Combien de copie sans filigrane voulez-vous?", "Question")
o = InputBox("Combien de copie avec filigrane ''ORIGINAL'' voulez-vous?", "Question")
Dim i As Byte, x As Byte

x = Sheets.Count

For i = 1 To x
Sheets(i).Select
Application.DisplayAlerts = False

ActiveWindow.SelectedSheets.PrintOut Copies:=c

ActiveSheet.Shapes.AddTextEffect(msoTextEffect1, "ORIGINAL", "ARIAL", _
72#, msoFalse, msoFalse, 200, 100#).Select
With Selection
.ShapeRange.Fill.Visible = msoTrue
.ShapeRange.Fill.Solid
.ShapeRange.Fill.ForeColor.SchemeColor = 22
.ShapeRange.Fill.Transparency = 0.5
.ShapeRange.Line.Visible = msoFalse
.ShapeRange.IncrementRotation -0
.ShapeRange.IncrementLeft -30
.ShapeRange.IncrementTop 350

ActiveWindow.SelectedSheets.PrintOut Copies:=o, Collate:=True

End With
Next
ThisWorkbook.Saved = False

ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub

Ca marche plûtot bien (mais si vous voyez des amélioratons n'hésitez pas) , mais voila probleme lorsque je ne veux pas de copie sans filigrane , je met 0 pour cette msgbox mais il met une erreur.
Il ne reconnait pas le parametre 0 comme valable.

J'aimerais qu'il l'accepte car on peut avoir besoin d'une copie avec et pas d'une copie sans filigranne et ainsi que l'inverse.

Auriez-vous une idée ?

Dans tous les cas je vous remercie de votre aide
 

youky(BJ)

XLDnaute Barbatruc
Re : Cherche a faire accepté le parametre 0 à une macro

Bonjour Eleck,
Une solution, si on click sur Annuler de l'inputbox c=""

If c > 0 And c <> "" then ActiveWindow.SelectedSheets.PrintOut Copies:=c
pareil pour o If c> 0 And o <> "" then....

Bruno
 
Dernière édition:

pedrag31

XLDnaute Occasionnel
Re : Cherche a faire accepté le parametre 0 à une macro

Bonjour Eleck, Bonjour le forum,

As-tu envisagé d'utiliser des tests dans ta macro après tes InputBox?

Code:
c = InputBox("Combien de copie sans filigrane voulez-vous?", "Question")
o = InputBox("Combien de copie avec filigrane ''ORIGINAL'' voulez-vous?", "Question")

If c=0 And o<>0 then
...
[COLOR="Green"]'code pour c=0 et o différent de 0[/COLOR]
...
Elseif c<>0 And o=0 then
...
[COLOR="Green"]'code pour c différent de 0 et o = 0[/COLOR]
...
Elseif c<>0 And o<>0 then
...
[COLOR="Green"]'code pour c et o différents de 0[/COLOR]
...
Endif

En espérant que ça puisse t'aider a avancer un peu plus...

[Edit] Bonjour Youky, on s'est croisé...

Bonne journée, :)
 

Discussions similaires

J
Réponses
2
Affichages
7 K
Jean Marc
J

Statistiques des forums

Discussions
312 322
Messages
2 087 284
Membres
103 507
dernier inscrit
tapis23