XL 2019 créer un bouton aperçu avant impression

telemarrk

XLDnaute Occasionnel
Bonjour,

j'ai créé un tableau excel qui me permet de gérer mes congés. il ne me reste plus qu'a trouver comment afficher un aperçu avant impressions quand je clique sur le bouton impression.

En effet, j'ai un créé une forme rectangulaire nommé "impression" sur la feuille FICHE et je souhaiterai quand je clique dessus afficher l'aperçu avant impression de la feuille IMPRESSION.

je ne sais comment faire, quelqu'un peut m'aider.

merci
 

Pièces jointes

  • fiche horaire.xlsx
    47.2 KB · Affichages: 22
Solution
bonsoir telemarrk
et oui là c'est un peu complexe
les cellules F contiennent des formules et excel considère que même si le résultat est nul, elle contienne un résultat
c'est pour cela qu'il faut contourner le problème
il faut faire un test pour voir si la cellule est vide de résultat
traduit en formule ça donne sur la cellule G20
=SI(NB.VIDE(F20)=0;"";Fiche!K6)
vide mais pas vide, ouf je me creuse les méninges !!
cordialement
galougalou

GALOUGALOU

XLDnaute Accro
bonjour telemarrk bonjour le forum
je n'ai pas encore regardé votre classeur
mais basiquement je dirais
coller cette procedure dans un module

Sub imprimer()
Sheets("Impression").Select
ActiveWindow.SelectedSheets.PrintPreview
End Sub

associer votre forme à cette macro
codialement
galougalou
 

GALOUGALOU

XLDnaute Accro
pour effacer les cellules de couleur orange

après printpreview

Range("D7,J8:J9,L8:L9,L13:M13,F20,G20").Select
Selection.ClearContents

ou pour effacer un plus grand nombre de cellules dispersées dans la feuille
Range("D7,D8,D9:G9,G8,J8:J9,L8:L9,F14:G21,L13:M13,F25:F28").Select
Selection.ClearContents

à adapter en fonction de vos besoins
cordialement
galougalou
 

GALOUGALOU

XLDnaute Accro
bonjour telemarrk

comme dis dans le post5
à adapter en fonction de vos besoins
utiliser cette solution
pour effacer les cellules de couleur orange
Range("D7,J8:J9,L8:L9,L13:M13,F20,G20").Select
Selection.ClearContents
et ajouter éventuellement des cellules sans formules
cordialement
galougalou
 

patricktoulon

XLDnaute Barbatruc
re
Bonjour
a partir du moment ou tu a des formules clearcontents va les effacer
tu a donc FORCeMeMENT BESOINS DE vba et non des formules
EN FORMULE C'EST PAS POSSIBLE

tu peux pas dire a excel de ne pas calculer et avoir des cellule vide apres calculate sans réactualiser les cellule avec des formules (les memes) en bloquant le enableevents avant et débloquant apres
rien que ça déjà c'est pas fiable
donc conclusion
formules basta
vba OK
. ;)
 

GALOUGALOU

XLDnaute Accro
bonjour telemark bonjour le forum

et bien patricktoulon vous a dressé une analyse pessimiste !

j'avais répondu à votre post sans analyser votre classeur
effectivement les plages oranges contiennent des formules
la solution n'est pas de les effacer, mais d'ajouter une condition pour afficher le resultat uniquement si le nom d'un client est saisi dans la feuille, donc à l'effacement du nom la feuille se vide.
pour exemple une formule
=SI($G$8="";"";SI(Fiche!$J$10=Impression!C14;Fiche!$L$10;""))

de plus pour proteger les formules il est important de proteger la feuille. je vous ai pose une macro pour cela dans évenement feuille qui protege la feuille Impression (en décochant toutes les cellules qui doivent rester accessible.)
pour rendre accessible toutes les modificaitons il suffit d'acceder par (revision/oter la protection de la feuille) (à éviter malgré)

une macro se declenche en cliquant sur le bouton imprimer et effacera en fin d'exécution les coordonnées de l'employé.
si ca peut vous rassurer, dans mon entreprise j'ai fait tourner ce style de classeur pendant des années sans aucun, j'ai bien dit aucun problème.
à tout hasard j'ai malgré tout rajouter une instruction calculate au cas ou un évenement serait désactivé.
effectivement sur des cellules avec formule il ne faut surtout pas employé "clearcontents"

en espérant avoir pu vous aider
cordialement
galougalou
 

Pièces jointes

  • Copie de fiche horaire v2.xlsm
    54.6 KB · Affichages: 14

GALOUGALOU

XLDnaute Accro
bonjour telemarrk bonjour le forum

Exemple de formule qui renvoie la dernière valeur numérique de la Colonne A
=RECHERCHE(9^9;A:A)
Pour le dernier texte, ça sera :
=RECHERCHE("zz";A:A)

exemple : cette régle appliquer à votre cas dans la cellule l8
=SI($G$8="";"";RECHERCHE(9^9;Fiche!D:D))

si vous avez du mal a mettre cela en place faite moi un retour
cordialement
galougalou
 

Discussions similaires

Réponses
1
Affichages
250
Compte Supprimé 979
C

Statistiques des forums

Discussions
311 729
Messages
2 081 970
Membres
101 852
dernier inscrit
dthi16088