Imprimer sous condition

  • Initiateur de la discussion Initiateur de la discussion AL Khayyam
  • 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 !

AL Khayyam

XLDnaute Nouveau
Bonjour à tout le forum.
J'ai un petit problème à vous soumettre. Je dispose d'un calsseur Excel qui contient 3 feuilles. Je veux interdire l'impression de la 1ère feuille si la cellule A1 n'est pas renseignée. J'y arrive par une petite macro. Mais il y a un problème que je n'arrive à résoudre.
Si l'utilisateur passe par la commande "Fichier" "Imprimer" et qu'ensuite il choisit dans la fenêtre "Classeur entier", alors là la 1ère feuille est imprimée même si A1 n'est pas renseignée.
Qui aurait des idées ?
Merci d'avance à tous

PS : Je débute dans VBA
 
Re : Imprimer sous condition

Bonjour dans les évènements du classeur:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Sheets(1).Range("A1").Text = "" Then
Cancel = True
MsgBox "Renseignez d'abord la cellule A1 de la feuille1 avant d'imprimer"
End If
End Sub


A bientôt
 
Re : Imprimer sous condition

Bonjour dans les évènements du classeur:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Sheets(1).Range("A1").Text = "" Then
Cancel = True
MsgBox "Renseignez d'abord la cellule A1 de la feuille1 avant d'imprimer"
End If
End Sub


A bientôt
Merci pour la réponse. C'est bien ce que j'ai fait, mais attention : ce code va interdire l'impression de toutes les feuilles si la cellule A1 n'est pas renseignée.
Voici ce que j'ai écrit à la place de If Sheets(1)... etc :
If ThisWorkbook.ActiveSheet.Name = "Feuil1" And Worksheets("Feuil1).Range("A1") = "" Then
Evidemment, si l'utilisateur change le nom de la feuille, je suis mal !
Cela dit, ça ne répond pas à ma question.
Même avec ça, si l'on passe par "Fichier" "Imprimer" puis en cochant "Classeur entier", la macro est inopérante.
 
Re : Imprimer sous condition

Bonjour à tous

Il reste également ce cas de figure à traiter

Un clic-droit sur un fichier Excel
puis Imprimer

imprimera également ton classeur

Dans ce cas-là peut-étre passer par la gestion des droits utilisateur
en passant par XP ou supérieur

De plus, il reste dans le cas de l'inhibition du menu Imprimer
le raccourci clavier CTRL+P qui permet d'imprimer
 
Re : Imprimer sous condition

Re


Tu peux t'inspirer de ce code
en adaptant avec Imprimer
voir le fil

A UTILISER avec prudence
(en cas de pepin voir ici: FAQ: Restaure BO et menus)
Code:
Sub INHIBER_IMPRIMER()
Application.CommandBars("Worksheet Menu Bar").Controls("&Fichier").Controls("Imprimer...").Enabled = False
End Sub
Sub DESINHIBER_IMPRIMER()
Application.CommandBars("Worksheet Menu Bar").Controls("&Fichier").Controls("Imprimer...").Enabled = True
End Sub

Mais comme je le disais précdement il reste toujours possible d'imprimer
avec les méthodes citées dans mon précédent message.
 
Dernière édition:
- 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
4
Affichages
1 K
Retour