Bienvenue sur les forums conseil & création · S'enregistrer

Se connecter automatiquement

Forums » Tableurs et logiciels de gestion (Money, Excel, Open Office...) » impression arriere plan · Envoyer le lien

Par GG, le 12 Fév 2008, 13:38 Revenir en haut de page Répondre en citant

Comment créer une macro pour imprimer l'arriere plan d'une feuille excel
Merci
GG
Par GN, le 12 Fév 2008, 20:07 Revenir en haut de page Répondre en citant

Bonjour,
Je pense que les personnes en mesure de te répondre sont absentes cette semaine.

Si je me trompe tant mieux, sinon un peu de patience. Wink
Par Horny, le 13 Fév 2008, 21:15 Revenir en haut de page Répondre en citant

Salut,

Qu'est-ce que tu entend exactement par "l'arrière-plan" de ta feuille ?

@+++
Par Cédric, le 23 Fév 2008, 12:39 Revenir en haut de page Répondre en citant

Horny a écrit:
Qu'est-ce que tu entend exactement par "l'arrière-plan" de ta feuille ?

L'image définie en arrière plan, via le menu Format / Feuille / Arrière-plan

Citation:
Comment créer une macro pour imprimer l'arriere plan d'une feuille excel


Si tu demandes une macro, c'est que tu le sais déjà, Excel n'imprime pas l'arrière plan:

l'aide Excel a écrit:
... Les motifs de fond ne s'impriment pas et ne sont pas conservés dans les feuilles de calcul ou les éléments que vous enregistrez séparément comme des pages Web...


Donc au niveau macro, c'est possible en faisant un print écran de la zone imprimable... teste avec ce code et dis nous si ça te convient:

Code:
Sub imprimer_arr_plan()
    ' Macro impression Excel avec arrière plan
    ' conseil-creation.com
    Dim ZoneImpression As Range
    On Error Resume Next
    If ActiveSheet.PageSetup.PrintArea <> "" Then
        Set ZoneImpression = Range(ActiveSheet.PageSetup.PrintArea)
    Else
        Set ZoneImpression = Range(Range("A1"), Range("A1").SpecialCells(xlLastCell))
    End If
    ZoneImpression.CopyPicture
    ZoneImpression.Clear
    With Sheets.Add
        .Paste Destination:=ZoneImpression
        .DisplayGridlines = False
        .PrintPreview
        Application.DisplayAlerts = False
        .Delete
        Application.DisplayAlerts = True
    End With
End Sub


Tout d'abord on définit ZoneImpression : soit la zone d'impression si elle a été définie, soit la totalité (de A1 jusqu'à la dernière cellule non vide). On fait la copie écran de cette zone (copie qui contient l'arrière plan) puis on la colle dans une nouvelle feuille que l'on supprime après avoir lancé l'aperçu / l'impression.

Ici on utilise .PrintPreview pour voir l'aperçu avant impression. A remplacer par .Print Out pour lancer l'impression directement.
Par GG, le 28 Fév 2008, 13:13 Revenir en haut de page Répondre en citant

De retour de congés j'ai mis en oeuvre les infos donnés.
Cela fonctionne parfaitement.
Avec tous mes remerciements
GG
Par Cédric, le 28 Fév 2008, 16:39 Revenir en haut de page Répondre en citant

Pas de quoi Wink

@ bientôt,
Cédric

Forums » Tableurs et logiciels de gestion (Money, Excel, Open Office...) » impression arriere plan · Envoyer le lien