Selection des cellules visible pour impréssion

Bonsoir à tous,

voilà je but sur un manipe toute simple,

je filtre les données d'un de mes tableaux ( onglet Hebdotest) et j'aimerai transposer les valeurs du tableau, refaire un peu de MFC avant de l'imprimer

Voilà mon tatonnement :

Sub printest()

WsPrtHb.Range("A1:AE40").Delete

'ici sélection des cellule visible " filtre"
'Wshebdo.Range(A1:??).Copy

'Ici collage transposer des valeur pour remise en forme
'WsPrHb. range ("A1").PasteSpecial Paste:=xlPasteValues, Transpose:=True

' et impression
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub

ci joint le fichier

Merci d'avance pour vos idées ou solutions

19hebdo-print.xlsm (144.53 Ko)

Bonjour,

Une proposition.

Cdlt.

13hebdo-print.xlsm (145.77 Ko)
Sub printest()
Dim rng As Range
    WsPrtHb.Cells.Clear
    Set rng = Wshebdo.Cells(1).CurrentRegion.SpecialCells(xlCellTypeVisible)
    rng.Copy
    With WsPrtHb
        .Cells(1).PasteSpecial _
                Paste:=xlPasteValuesAndNumberFormats, _
                Transpose:=True
        .Cells.EntireColumn.AutoFit
        .PrintOut preview:=True
    End With
    Application.CutCopyMode = False
    Set rng = Nothing
End Sub

Merci Jean-Eric,

nickel les premiers tests sont concluant, je fais encore quelques essaies avant de valider

Je me permet d'abuser encore mais j'aimerai insérer de la MFC dans la page juste avant l'impression, mais je n'arrive pas avec l'editeur de macro a rédiger les MFC.

De plus je comprend pas pourquoi elles fonctionnent pas car je les ai appliquées sur mes deux autres onglets et la c'est nickel (je dois commencer à mouliner dans vent) dans l'exemple fournis je devrai avoir la colonne du 25/12 en "feries" et les colonnes 29 et le 30 au format week-end.

Dernier petite info pour l'application de la MFC le nombre de ligne varie entre 1 et 8

Si vous avez des idées pour remettre ça dans le sub fournit je serai heureux ( et sans doute couché plus tot )

Merci pour vos solutions

8hebdo-print2.xlsm (139.80 Ko)

Re,

Essaie ceci :

Sub printest()
Dim rng As Range

    WsPrtHb.Cells.Clear

    Set rng = Wshebdo.Cells(1).CurrentRegion.SpecialCells(xlCellTypeVisible)

    rng.Copy

    With WsPrtHb
        .Cells(1).PasteSpecial Paste:=12, Transpose:=True
        .Cells.EntireColumn.AutoFit
        With .Cells(1).CurrentRegion
            .Borders.Weight = xlThin
            .FormatConditions.Add Type:=xlExpression, Formula1:="=NB.SI(Feries;A$1)>0"
            .FormatConditions(1).SetFirstPriority
            With .FormatConditions(1).Interior
                .PatternColorIndex = xlAutomatic
                .Color = RGB(245, 217, 113)
                .TintAndShade = 0
            End With
            .FormatConditions.Add Type:=xlExpression, Formula1:="=JOURSEM(A$1;2)>5"
            .FormatConditions(2).SetFirstPriority
            With .FormatConditions(1).Interior
                .PatternColorIndex = xlAutomatic
                .Color = RGB(255, 255, 153)
                .TintAndShade = 0
            End With
        End With
    End With

    Application.CutCopyMode = False

    WsPrtHb.PrintOut preview:=True

    Set rng = Nothing

End Sub

Youpi c'est exactement cela,

Mais je vais peut être pas pouvoir m'en servir actuellement je me suis aperçut d'un bug dans ma méthode de filtrage des dates,

j'ai ouvert un nouveau sujet

https://forum.excel-pratique.com/excel/filtrage-calendrier-en-semaine-0-t84725.html

Encore merci pour cette solution

Rechercher des sujets similaires à "selection visible impression"