Macro Masquer colonne + Impression

Bonjour à tous,

Après une recherche rapide sur le net et une recherche plus approfondie sur le forum, je n'ai pas réussi à trouver une réponse à ma question.

La voici :

J'ai un tableau de plusieurs colonnes (certaines sont masquées avec des infos concernant la programmation de mes formules) mais elles sont en bout de tableau.

Je souhaiterais, avec 1 bouton, imprimer ce tableau en ayant masqué avant des colonnes supplémentaires (au milieu du tableau)et en les affichant à nouveau après l'impression.

J'ai tenté avec l'enregistreur de macro, mis après enregistrement et affectation de macro, il me masque bien les colonnes, imprime et affiche à nouveau, sauf qu'il ne m'imprime qu'une partie des colonnes sélectionnées et pas toutes celles que je veux...

Ci-joint un exemple...

Merci pour votre aide !

36test-imprim.xlsm (21.46 Ko)

Hello

où est ton point de départ ? ta cellule sélectionnée ?

car là je suis en erreur

    ActiveCell.Offset(0, -12).Columns("A:C").EntireColumn.Select
    ActiveCell.Offset(-3, -12).Range("A1").Activate

après enregistrement d'une macro, il est intéressant de relire et simplifier le code

je dirais que le tien se pourrait se résumer à ceci

Sub TESTMASKIMPRIM()
'
' TESTMASKIMPRIM Macro
'
    Columns("A:C").EntireColumn.Hidden = True
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    Columns("A:C").EntireColumn.Hidden = False

End Sub

Hello Steelson,

je te propose d'essayer : Columns("A:C").Hidden = True

(sur ma version d'Excel 2007, ça marche impeccable ! )


bien sûr, idem pour : Columns("A:C").Hidden = False

comme disait Shakespeare : « être entier ou ne pas être entier, telle est la question »

par contre, toi qui aimes les romans d'espionnage, tu sais que la 5ème colonne a un statut privilégié !

dhany

Ca marche !!!

Je comprend pas où était mon erreur du coup, parce que j'ai fait plusieurs essais avec plusieurs codes différents dont un similaire à celui là...

Bref, MERCI !!!!!

@mxkff : super !!! alors tu peux passer ce sujet en résolu : il suffit de cliquer sur la coche V (située près du bouton EDIT).

Hello Steelson,

je te propose d'essayer : Columns("A:C").Hidden = True

pourquoi ? ce que j'ai écrit ne fonctionne pas ?

Salut Steelson,

si, si, ton instruction Columns("A:C").EntireColumn.Hidden = True fonctionne, mais comme ça commence par Columns("A:C") c'est déjà les colonnes entières, donc inutile de l'préciser après avec .EntireColumn ; tu peux alors éviter ce « pléonasme » et écrire de façon plus courte et plus directe : Columns("A:C").Hidden = True

c'est juste un détail, mais habituellement, j'utilise .EntireColumn pour par exemple Cells(lig, 3).EntireColumn.Select : pour la cellule qui est à l'intersection de la ligne lig et de la colonne 3, on sélectionne la colonne entière C.

tu vois, j't'ai rassuré : même si tu préfères mettre ton instruction plus longue Columns("A:C").EntireColumn.Hidden = True elle fonctionne correctement ; ton Excel marche bien et t'as pas besoin d'faire une réparation d'ton logiciel Office !

bon, j'te laisse : j'ai prévu d'avance de monter en haut d'l'escalier, puis d'le descendre en bas (j'suis fort, hein ? j'ai réussi à mettre 3 pléonasmes dans la même phrase ! ).

dhany

Hello Dhany,

je n'ai RIEN programmé

ce que j'ai voulu, c'est montrer à Maxime comment réduire un code enregistré par l'enregistreur de macro

ah, d'accord ! ok

Rechercher des sujets similaires à "macro masquer colonne impression"