Apercu Avant impression

Bonjour,

Alors je viens car j'ai un petit problème ( encore ... ) j'ai chercher sur le forum mais j'ai pas eu de réponse concluante pour résoudre mon problème :'(

J'ai un script pour imprimer dans mon VBA :

 
        Application.ScreenUpdating = False
        Sheets("Details").Visible = True
        Sheets("Details").Activate
        Sheets("Details").PrintOut
        Sheets("Details").Activate
        Rows("6:2000").Select
        Selection.Delete
        Sheets("Details").Visible = False
        Sheets("Accueil").Activate

Mais j'ai voulu le remplacer pour faire un aperçu :

        Application.ScreenUpdating = False
        Sheets("Details").Visible = True
        Sheets("Details").Activate
        Application.Dialogs(xlDialogPrintPreview).Show
        Sheets("Details").Activate
        Rows("6:2000").Select
        Selection.Delete
        Sheets("Details").Visible = False
        Sheets("Accueil").Activate

Et la problème ....

Ma macro plante mon fichier Excel ... je décris les étapes et les divers plantage :

j'appuis sur mon bouton de mon userform "Aperçu" ( jusqu'a la pas de problème ) ...

Ma feuille details est généré ( pas de problème )

Mon apercu apparait ( pas de problème )

Mon userform reste au dessus ( la gros problème ) et on peu apercevoir que le bouton aperçu reste appuyer ...

et je peu pas décentre dans mon aperçu ....

Attention tout de même car j'ai une petite contrainte

  • mes utilisateur non authentifié dans ma feuille excel peuvent aussi faire un aperçu et il on un userform1
  • mes utilisateur authentifié on un userform5

voilà je cherche une solutions pour faire mon aperçu et ne pas faire planter mon excel et devoir le redémarrer avec ctrl+alt+suppr

SALUT

Dit moi si cela vous repondre

'/////////////////////////////////////////////////////////
'Sheets("Details").PrintOut
Dim nbre_d_copies, zone_impression, val_apercus

nbre_d_copies = 1 ' Range("AH9").Value  par exemple
val_apercus = True 'Range("AH10").Value  par exemple  mais false ou true

'cela est mieux pour ne pas imprimer toutes les feuilles
'zone_impression = "a1:g48" ' c'est qu'un exemple

Sheets("Details").Range(zone_impression).PrintOut , , nbre_d_copies, val_apercus    ', nom_imprimante, , , ignorer_zone

Sheets("Details").PrintOut , , nbre_d_copies, val_apercus   ', nom_imprimante, , , ignorer_zone

'//////////////////////////////////////////////////////////

malheureusement cela n'a pas fonctionner

SALUT

ENVOYER UN FICHIER COMME PETIT EXEMPLE

NORMALEMENT LE CODE EST FONCTIONNEL

Bonjour,

Pour l'aperçu avant impression, essaie simplement ceci :

ActiveSheet.PrintOut Preview:=True

Cdlt.

Malheureusement pour le fichier je peu pas le mettre sur internet car ty a des choses trop privée dedans mais je vais essayer de faire une version moin personnalisé et plus compact pour vous donner un exemple .

En ce qui concerne

ActiveSheet.PrintOut Preview:=True

malheureusement pareil cela bloque encore et toujours

Rechercher des sujets similaires à "apercu impression"