Problème de mise à jour de la page avant d'imprimer

  • Initiateur de la discussion Initiateur de la discussion nibor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nibor

XLDnaute Nouveau
Bonjour tout le monde,

Je précise que je suis un vrai novice en programmation .. merci d'avance de votre indulgence et patience.

Je réalise un tableau de bord et je touche presque au but, mais je sèche sur un problème d'actualisation d'une fiche Excel avant d'imprimer.

Je souhaite imprimer plusieurs pages Excel en format PDF qui en fonction d'une cellule affiche des valeurs différentes sur la page.

Mon problème : quand j'imprime plusieurs pages en fonction d'une liste, ma troisième page n'est jamais à jour alors que les pages qui suivent elles le sont.

Ma question : qu'est-ce que je dois modifier dans mon code ci-dessous pour forcer une mise à jour de la page après la sélection la cellule lorsque j'entre dans ma boucle FOR ?

D'avance, je vous remercie beaucoup de votre aide et j'espère avoir été clair dans mon explication.

Meilleures salutations
Nibor


Code :
Sub imprimSelec()
'
' Imprimer toutes les feuilles des calibres sélectionnés en un seul fichier PDF Macro
'
Dim i As Integer
Dim wbdest As Workbook
Dim wbsource As Workbook

'nom du fichier pdf
nom_fichier = "\" & Sheets("Page de titre").[A2] & "_" & Sheets("SELECTION_DATES").[H5] & "_" & Sheets("Synthese").[AA2] & "_" & Sheets("SELECTION_DATES").[H6]

With Application
.ScreenUpdating = False
.EnableEvents = False
End With

' mettre à jour la page Excel
Call Module1.MàJ
' Première page à imprimer = page de titre
Set wbsource = ActiveWorkbook
Sheets("Page de titre").Copy
' Deuxième page à imprimer = page Excel affichée
Set wbdest = ActiveWorkbook
Feuil1.Copy After:=wbdest.Sheets(wbdest.Sheets.Count)

' Suite des pages à imprimer (mon problème commence ici .. ma première page n'est jamais à jour)
For i = 6 To Feuil1.Range("AA35").End(xlUp).Row
Feuil1.Range("A1") = Feuil1.Range("AA" & i).Value
' mettre à jour la page Excel malgré cela, la feuille ne se met pas totalement à jour
Call Module1.MàJ
Application.Wait Now + TimeValue("0:00:02")
Feuil1.Copy After:=wbdest.Sheets(wbdest.Sheets.Count)

ActiveSheet.Name = "fiche" & i - 6
ActiveSheet.Range("A1:V80") = wbsource.Sheets("Synthese").Range("A1:V80").Value
wbsource.Activate

Next
wbdest.Activate

'enregistrement au format pdf
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=wbsource.Path & nom_fichier, Quality:=xlQualityStandard, _
IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True ' sauvegarde du fichier au format pdf
'fermeture du fichier temporaire sans enregistrement
ActiveWorkbook.Close False

End Sub
 
Re : Problème de mise à jour de la page avant d'imprimer

Merci pour vos rapides réponses.

@ Papou-net :
- je viens d'essayer en supprimant la commande .. mais mon problème reste le même

@ st007 :
- une fonction de mise à jour de mes tableaux que j'ai créé avec la fonction enregistré "Macro" (ne pas taper svp)


j'ai mis le fichier en pièce jointe.
le fichier est un peu "lourd" mais il est temporaire le temps qu'on change un système informatique (~1 an).

dans l'onglet "Synthese", je choisis les éléments à imprimer dans la partie sélection et ensuite en cliquant "imprimer SLECTION", j'enregistre toutes les pages dans un seul fichier PDF.

La première page = page de titre (=onglet "Page de titre)
La deuxième page = la page affichée
La troisième page = la 2ème ligne de la sélection
La quatrième = etc.

Est-ce plus compréhensible ainsi ?
 

Pièces jointes

Re : Problème de mise à jour de la page avant d'imprimer

si seulement c'était pas vrai ... c'est toujours pas ça.
je te remercie d'avoir pris le temps de regarder.

Mon problème reste exactement le même .. ma page de titre s'affiche correctement, ma première page d'information également mais la troisième n'est pas actualisée alors que la quatrième l'est.
 
Re : Problème de mise à jour de la page avant d'imprimer

Bonsoir,
essaye ce fichier ...
pour identifier le bug de mise à jour, au lieu de cliquer sur le bouton pour lancer la macro, actionne là pas à pas.
Par succession de touche "F8", comme tu connais ton fichier et ce que tu veux en faire, à chaque "F8" une action (ligne de code) se réalise, à toi alors d'identifier à quel moment il faudrait mettre à jour

si par magie tout fonctionne par tes "F8", c'est que les temps de recalculs sont plus long que deux secondes
 

Pièces jointes

Re : Problème de mise à jour de la page avant d'imprimer

Re bonjour,

Alors effectivement, la magie opère avec les "F8" => pas à pas, tout va pour le mieux du monde.
Merci encore pour le conseil.

J'ai rajouté une temporisation après l'opération de calcule (8s) mais rien n'y fait pour cette troisième page.

C'est donc pas possible de tromper Excel et qu'il est "trop" rapide pour mettre à jour correctement toutes mes informations ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
906
Réponses
4
Affichages
1 K
Réponses
0
Affichages
627
Retour