Aide sur macro

Bonjour à tous,

J'ai créé un document où l'on peut insérer un nombre variables de lignes, dépendemment du travail fait dans l'autre classeur Excel. Jusque là, tout va bien. Le ''Bug'' est que ce document sera utilisé par plusieurs personnes dont la grande majorité ne savent même pas comment sélectionner une zone d'impression. C'est pourquoi, j'ai créé un macro qui défini la zone d'impression selon la dernière valeur et qui imprime directement sous la mise en page paysage et sur du papier de format legal. Encore là, tout était beau... sauf qu'après quelques petites modifications, la macro d'impression imprime toujours 9 feuilles (même si j'ai des infos sur une seule).... Pourtant, la macro est la même! Quelles pourraient être les raisons??

Voici une copie de la dite macro... Je voulais joindre le document, sauf que même compressé, il est trop gros

MErci!

Sub PrintPlan()

'

' PrintPlan Macro

' Macro recorded 08/02/2013 by Administrator

'

Dim Area As String

Dim LastCellNum As Variant

'ActiveSheet.Unprotect

' Definir la derniere ligne

LastCellNum = Cells(Rows.Count, "A").End(xlUp).Row

' Definir la nouvelle zone pour l'impression

Area = "A1" & ":S" & LastCellNum

Range(Area).Select

ActiveSheet.PageSetup.PrintArea = Area

'ActiveSheet.PageSetup.PrintArea =ActiveSheet.Area

'ajout MH xl avant paper

ActiveSheet.PageSetup.Orientation = xlLandscape

ActiveSheet.PageSetup.PaperSize = xlPaperLegal

'impresssion

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

'

ActiveSheet.Protect

End Sub

Bonsoir

Déjà sans ton fichier cela ne va pas être évident

Sinon fais du pas-à-pas avec la macro et comme cela tu verras exactement la zone d'impression et les sauts de page

J'ai fait un test rapide et j'ai plusieurs pages si la colonne S est déjà en dehors des limites (bien que cette colonne soit vide), et bien sur si le nombre de ligne ne peut être contenu dans une seule page

Essayes de ne joindre que la page en cause ainsi que la macro, et si encore (même compressé) > 300 ko passes par cjoint http://cjoint.com/index.php

c joint

Voici le lien du document:

Bonsoir

Le problème c'est que tu as des formules en colonne A

Et pour la fonction End() cela compte pour des cellules non vides

Une solution (rustine ) : Pas mieux en stock

Rajoutes cette ligne

' Definir la derniere ligne
LastCellNum = Cells(Rows.Count, "A").End(xlUp).Row
LastCellNum = LastCellNum - Application.CountBlank(Range("A1:A" & LastCellNum))
' Definir la nouvelle zone pour l'impression
Area = "A1" & ":S" & LastCellNum

Banzai,

Merci infiniment! Ça fonctionne! Tu es mon sauveur!

Marie

Rechercher des sujets similaires à "aide macro"