Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL pour MAC Vba Impression page avec filigrane

ArnaudSi

XLDnaute Nouveau
Bonjour

Je suis à la recherche d'un code VBA

- Fichier avec 5 pages à imprimer
Objectif : Imprimer la page 3 avec un filigrane rouge à 45°, (avec la mention "Copie")

On obtient ce résultat en effectuant: Fichier/Imprimer/Configuration imprimante/Filigrane, Texte : Copie, Angle 45

J'avais penser à un code de ce type; mais ce n'est pas probant...

Merci

VB:
Sub Imprimer Copie()

    With Sheets("Commande")
        .PrintOut From:=3, To:=3, Copies:=1
  ActiveSheet.Shapes.AddTextEffect(msoTextEffect3, _
                                   "Copie")
  With Selection
    .ShapeRange.Fill.Visible = msoTrue
    .ShapeRange.Fill.Solid
    .ShapeRange.Fill.ForeColor.SchemeColor = 10
    .ShapeRange.Fill.Transparency = 0.2
    .ShapeRange.Line.Visible = msoTrue
    .ShapeRange.IncrementRotation -35.22
    .ShapeRange.IncrementLeft Mud
    .ShapeRange.IncrementTop 20
  End With
End With
End Sub
 

D.D.

XLDnaute Impliqué
Hello

Fichier/Imprimer/Configuration imprimante/Filigrane se trouve hors Excel et dans les paramètres de l'imprimante. Tu ne peux donc y accéder via vba.
D'un autre coté ce que tu as commencé est pas mal quand même. Juste quelques modifs sont nécessaires.
Code:
Sub ImprimerCopie()
    With Sheets("Commande")
        .PrintOut From:=3, To:=3, Copies:=1
  ActiveSheet.Shapes.AddTextEffect(msoTextEffect3, "Copie", "+mn-lt", _
        54, msoTrue, msoFalse, 424, 204).Select
  With Selection
    .ShapeRange.Fill.Visible = msoTrue
    .ShapeRange.Fill.Solid
    .ShapeRange.Fill.ForeColor.SchemeColor = 10
    .ShapeRange.Fill.Transparency = 0.2
    .ShapeRange.Line.Visible = msoTrue
    .ShapeRange.IncrementRotation -35.22
    .ShapeRange.IncrementLeft Mud
    .ShapeRange.IncrementTop 20
  End With
End With
End Sub
 

youky(BJ)

XLDnaute Barbatruc
Bonjour le fil et tous,
J'ai essayé la macro mais c'est pas encore un vrai filagramme.
Je joint à mon message un .JPG afin que les intéressés puisse le mettre en arrière plan de l'onglet.
Si on fait l'apercu avant impression que neni de l'arrière plan.
La macro que voici pompée je ne sais plus ou fait le truc à merveille.
Enlever le quadrillage et sélectionner une cellule en dehors de la page avant exécuter et définir la zone d'impression.
La macro fait une copie_image de l'onglet avec l'arrière plan, l'imprime et supprime l'image.
Le JPG est prévu pour une page A4
Bruno
VB:
Sub ImpFiligrane()
'La Zone d'impression DOIT être préalablement définie
Dim ZoneImpr As Range
Set ZoneImpr = Range(ActiveSheet.PageSetup.PrintArea)
ZoneImpr.CopyPicture xlScreen, xlBitmap
ActiveSheet.Paste Destination:=ZoneImpr
ActiveWindow.SelectedSheets.PrintPreview
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Delete
End Sub
 

Pièces jointes

  • lacopie.JPG
    39.7 KB · Affichages: 54
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…