Macro - Cacher des lignes pour l'impression seulement

Bonjour à tous,

Je fais la création d'un formulaire qui sera destiné à être utilisé par plusieurs personnes. En lisant plusieurs post de ce forum, j'arrive à mes fins (je vous en remercie!) mais il me reste un dernier bug que je n'arrive pas à régler :

Je veux cacher certaines lignes de mon formulaire à l'impression, j'ai créé un bouton de commande et je lui ai attribué la macro suivante :

Sub ImprimeMasque()
With ActiveSheet.Range("16:16,21:21,34:34,38:38,47:47,55:55,65:65,70:70,74:74,78:78")
.EntireRow.Hidden = True
.PrintOut
.EntireRow.Hidden = False
End With
End Sub

quand je clique sur le bouton ainsi créé, les lignes se cachent et réapparaissent mais l'impression ne part pas.

Pouvez-vous pointer l'erreur?

J'ai trouvé ce code sur ce forum (en fait, c'était pour des colonnes). Dans l'autre post, quelqu'un disait que ça fonctionnait nickel mais pas pour moi

J'ai joint le fichier, il n'y a pas d'information sensible.

Merci à l'avance!!

Salut,

Remplace ta ligne

.PrintOut

par

ActiveSheet.PrintOut

Cordialement.

J'essaie ça demain au bureau, je vous en redonne des nouvelles.

Merci beaucoup!

ça ne fonctionne pas

ça me dit :

Erreur d'exécution '438':

Propriété ou méthode non gérée par cet objet

Quand je clique sur "Débogage", la ligne "ActiveSheet.PrintOut" est surlignée.

J'ai trouvé ma solution!.. c'était pas si compliqué au final.

Pour ceux qui en aurait besoin :

Sub ImprimeMasque()
With ActiveSheet.Range("16:16,21:21,34:34,38:38,47:47,55:55,65:65,70:70,74:74,78:78")
    .EntireRow.Hidden = True
End With
With ActiveSheet.PrintOut
End With
With ActiveSheet.Range("16:16,21:21,34:34,38:38,47:47,55:55,65:65,70:70,74:74,78:78")
    .EntireRow.Hidden = False
End With
End Sub

Bonne journée!

Bonjour,

Essaie ainsi :

Sub ImprimeMasque()
Dim rng As Range

    Application.ScreenUpdating = False
    With ActiveSheet
        Set rng = .Range("16:16,21:21,34:34,38:38,47:47,55:55,65:65,70:70,74:74,78:78")
        rng.EntireRow.Hidden = True
        .PrintOut preview:=True
        rng.EntireRow.Hidden = False
    End With

    Set rng = Nothing

End Sub

Merci Jean-Eric!

ça fonctionne encore mieux que ma solution... (moins de délais dans l'exécution et l'écran ne "saute" pas)

Je suis super contente!

MaNo376 a écrit :

ça ne fonctionne pas

Désolé pour toi, chez moi ça fonctionnait

Bonnes fin de semaine.

Rechercher des sujets similaires à "macro cacher lignes impression seulement"