Bonjour,

j'ai un problème lors de la génération d'un fichier excel.
J'utilise Excel 2010 mais je dois produire des ".xls"

J'ai une macro dans un fichier excel A (XLS) qui génère un fichier excel B (XLS).

J'arrive à faire à peu près tout ce que je veux mais je rencontre un bug étonnant : j'ai une fonction qui règle des paramètres d'impression, le code s’exécute mais le résultat n'est pas au rendez vous.

La chose étonnante est que je n'ai pas le résultat voulu lorsque j'exécute la macro d'un bloc, mais j'obtiens le résultat voulu lorsque je l'exécute en pas à pas !!

voici le code de la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Sub Definir_zone_impression(ws As Worksheet)
'On recherche le nombre de lignes totale
    Dim nbLigneTotale As Integer
    nbLigneTotale = 6
    While ws.Range("B" & nbLigneTotale) <> ""
        nbLigneTotale = nbLigneTotale + 1
    Wend
    Application.PrintCommunication = False
 
    With ws.PageSetup
        .PrintArea = "$A$1:$AN$" & nbLigneTotale
        .PrintTitleRows = "$4:$5"
        .PaperSize = xlPaperA3
        .Orientation = xlLandscape
        .FitToPagesTall = False
        .FitToPagesWide = 1
    End With
End Sub
Et l'appel à cette fonction se fait dans la fonction principale par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Call Definir_zone_impression(Workbooks(Nom_fichier).Sheets(1))
Pouvez vous m'aider ?