Bouton "impression"

ONYXTEQUILA

XLDnaute Nouveau
Bonjour à tous,

Je voudrais savoir si c'est possible d'interdire l'utilisation du menu "fichier, imprimer" dans excel. J'ai crée un bouton "imprimer". Autrement dit , obliger l'utilisateur à cliquer sur le bouton "imprimer" au lieu de faire "fichier, imprimer".

Merci d'avance

onyxtequila
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Bouton "impression"

Bonjour

Peut-être avec un petit booleen public

tu mets ton booleen à true dans le code de ton bouton avant d'imprimer et tu le remets à false après

et dans le thisworkbook

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If toto = False Then Cancel = True
End Sub

Bon courage
 

Pierrot93

XLDnaute Barbatruc
Re : Bouton "impression"

Bonjour ONYXTEQUILA

peut être comme ci dessous, code à placer dans le module "ThisWorkbook :

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
End Sub

Par contre il faudra sans doute désactiver les procédures evènementielles ponctuellement en rajoutant 2 lignes de code dans ta macro qui lance l'impression, comme ci dessous :

Code:
Private Sub CommandButton1_Click()
Application.EnableEvents = False
'TON CODE
Application.EnableEvents = True
End Sub

bonne journée
@+
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Bouton "impression"

Re

Bonjour à toi aussi

Pour le Application.EnableEvents = False il est impératif d'y faire très attention. Car en cas de bug Bonjour les dégats. Voilà pourquoi perso j'utilise toujours une variable public de type booleen

Voir ce fil d'explication.

https://www.excel-downloads.com/threads/peut-on-empecher-un-evenement-de-se-produire.19860/

et on en a parlé aussi sur d'autres fils Quelques exemples :

https://www.excel-downloads.com/threads/somme-dans-uns-seule-cellule.58183/
https://www.excel-downloads.com/threads/desactiver-le-worksheet-_hange.36393/
https://www.excel-downloads.com/threads/desactiver-une-macro-usf.56485/
https://www.excel-downloads.com/thr...entielles-de-meme-type-sur-le-workbook.64237/

Bonne journée
 

ONYXTEQUILA

XLDnaute Nouveau
Re : Bouton "impression"

rebonjour

en fait, ce code fonctionne mais ce que je voulais c'est interdire le "fichier, imprimer" et obliger l'utilisateur à se servir du bouton "imprimer" que j'ai créé.

Peut-être que tu pourras m'aider encor sur ce coup là

Merci

Onyxtequila
 

Pierrot93

XLDnaute Barbatruc
Re : Bouton "impression"

Re Onyxtequila

a priori c'est bien ce que fait le code que nous t'avions donné, il interdit de passer par barre de menu => fichier > imprimer, je comprend pas bien ce que tu veux de plus. Soit un message à l'utilisateur comme ci dessous :

le code deviendrait :

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If toto = False Then
MsgBox "Passer par le bouton prévu à cet effet"
Cancel = True
End If
End Sub

ou alors tu peux peux être lancer ta proc associé au bouton :

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If toto = False Then
Cancel = True
Feuil1.CommandButton1_Click
End If
End Sub

@+
 

Pierrot93

XLDnaute Barbatruc
Re : Bouton "impression"

Re ONYXTEQUILA

il faut définir ta variable en public en tête d'un module standard comme ci dessous :

Code:
Public toto As Boolean

il faut ensuite mettre à true cette même variable sur l'évènement click de ton bouton comme ci de ssous :

Code:
Private Sub CommandButton1_Click()
tot = True
'TON CODE
End Sub

et là ca devrait marcher, sinon mets ton fichier en pièce jointe.

bonne soirée
@+
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Bouton "impression"

Re

Bon pour recapituler

dans un module en haute de culi-ci avant tout code

Public Toto as Boolean

puis dans le code de ton bouton

toto=true
ton code d'impression
toto=false

et dans le thisworkbook

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If toto = False Then Cancel = True
End Sub
 

ONYXTEQUILA

XLDnaute Nouveau
Re : Bouton "impression"

Re

C'est bon ça marche, désolé mais je débute et tout ce qui vous parait simple est pour moi compliqué. A force, je devrais pouvoir m'en sortir.

En tout cas, un grand merci à tous ceux qui sont intervenu pour m'aider.

Bonne soirée

onyxtequila
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 857
Membres
103 979
dernier inscrit
bderradji