Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

FENETRE DIALOGUE IMPRIMER SANS LANCER L'IMPRESSION

15 réponses
Avatar
Fred
Bonsoir =E0 tous,

Je heurte sur 2 micro petiot problemo.
Je voudrais que l'utilisateur lambda puisse imprimer 2 plages
diff=E9rentes d'un tableau.
1=B0 - Je voudrais qu'il ne puisse PAS imprimer par le menu Fichier ni
en cliquant sur le bouton imprimer.
Je ne sais pas d=E9sactiver ces m=E9thodes uniquement pour cette feuille.
Le reste du classeur doit s'imprimer comme d'hab.

2=B0 - Qu'il soit oblig=E9 d'imprimer en cliquant sur l'un ou l'autre des
2 boutons macro.
Je sais faire par l'enregistreur : Selectionner la plage nomm=E9e, la
designer zone d'impression.
Ce que je n'arrive pas =E0 faire c'est afficher la boite de dialogue"
imprimer" avec le petit aper=E7u de la page et que la macro s'arr=E8te
l=E0 et rende la main =E0 l'utilisateur. Ceci permettrait que
l'utilisateur choisisse le nombre de copies et imprime ou annule...
Par l'enregistreur je n'arrive qu'=E0 lancer l'impression et pas
uniquement =E0 afficher la boite de dialogue.

Merci =E0 celui qui a le temps.
Fredo

10 réponses

1 2
Avatar
gazelle
Bonsoir Fredo,

Application.Dialogs(xlDialogPrint).Show

Cordialement,
Gazelle

"Fred" a écrit dans le message de news:

Bonsoir à tous,

Je heurte sur 2 micro petiot problemo.
Je voudrais que l'utilisateur lambda puisse imprimer 2 plages
différentes d'un tableau.
1° - Je voudrais qu'il ne puisse PAS imprimer par le menu Fichier ni
en cliquant sur le bouton imprimer.
Je ne sais pas désactiver ces méthodes uniquement pour cette feuille.
Le reste du classeur doit s'imprimer comme d'hab.

2° - Qu'il soit obligé d'imprimer en cliquant sur l'un ou l'autre des
2 boutons macro.
Je sais faire par l'enregistreur : Selectionner la plage nommée, la
designer zone d'impression.
Ce que je n'arrive pas à faire c'est afficher la boite de dialogue"
imprimer" avec le petit aperçu de la page et que la macro s'arrète
là et rende la main à l'utilisateur. Ceci permettrait que
l'utilisateur choisisse le nombre de copies et imprime ou annule...
Par l'enregistreur je n'arrive qu'à lancer l'impression et pas
uniquement à afficher la boite de dialogue.

Merci à celui qui a le temps.
Fredo
Avatar
Fred
Merci Gazelle

Ta ligne de code marche bien pour ma question 2. Ce point est réglé.

Peux-tu m'aider pour la question 1 ?

Fred

On 17 nov, 19:31, "gazelle" wrote:
Bonsoir Fredo,

Application.Dialogs(xlDialogPrint).Show

Cordialement,
Gazelle

"Fred" a écrit dans le message de news:

Bonsoir à tous,

Je heurte sur 2 micro petiot problemo.
Je voudrais que l'utilisateur lambda puisse imprimer 2 plages
différentes d'un tableau.
1° - Je voudrais qu'il ne puisse PAS imprimer par le menu Fichier ni
en cliquant sur le bouton imprimer.
Je ne sais pas désactiver ces méthodes uniquement pour cette feuille.
Le reste du classeur doit s'imprimer comme d'hab.

2° - Qu'il soit obligé d'imprimer en cliquant sur l'un ou l'autre des
2 boutons macro.
Je sais faire par l'enregistreur : Selectionner la plage nommée, la
designer zone d'impression.
Ce que je n'arrive pas à faire c'est afficher la boite de dialogue"
imprimer" avec le petit aperçu de la page et que la macro s'arrète
là et rende la main à l'utilisateur. Ceci permettrait que
l'utilisateur choisisse le nombre de copies et imprime ou annule...
Par l'enregistreur je n'arrive qu'à lancer l'impression et pas
uniquement à afficher la boite de dialogue.

Merci à celui qui a le temps.
Fredo


Avatar
gazelle
Oups je suis restée bloquée sur la question 2...

Pour désactiver le menu Imprimer il faut modifier les commandbars :
Sub ouverture()
Dim ccmdB As CommandBarControl
Set myControl = CommandBars(1).Controls(1)
For Each ccmdB In myControl.Controls
If ccmdB.Index = 15 Then ccmdB.Enabled = False
Next ccmdB
End Sub
Ne pas oublier de remettre à True à la fermeture du classeur.

Gazelle

"Fred" a écrit dans le message de news:

Merci Gazelle

Ta ligne de code marche bien pour ma question 2. Ce point est réglé.

Peux-tu m'aider pour la question 1 ?

Fred

On 17 nov, 19:31, "gazelle" wrote:
Bonsoir Fredo,

Application.Dialogs(xlDialogPrint).Show

Cordialement,
Gazelle

"Fred" a écrit dans le message de news:

Bonsoir à tous,

Je heurte sur 2 micro petiot problemo.
Je voudrais que l'utilisateur lambda puisse imprimer 2 plages
différentes d'un tableau.
1° - Je voudrais qu'il ne puisse PAS imprimer par le menu Fichier ni
en cliquant sur le bouton imprimer.
Je ne sais pas désactiver ces méthodes uniquement pour cette feuille.
Le reste du classeur doit s'imprimer comme d'hab.

2° - Qu'il soit obligé d'imprimer en cliquant sur l'un ou l'autre des
2 boutons macro.
Je sais faire par l'enregistreur : Selectionner la plage nommée, la
designer zone d'impression.
Ce que je n'arrive pas à faire c'est afficher la boite de dialogue"
imprimer" avec le petit aperçu de la page et que la macro s'arrète
là et rende la main à l'utilisateur. Ceci permettrait que
l'utilisateur choisisse le nombre de copies et imprime ou annule...
Par l'enregistreur je n'arrive qu'à lancer l'impression et pas
uniquement à afficher la boite de dialogue.

Merci à celui qui a le temps.
Fredo


Avatar
Fred
Merci Gazelle, je verrais sa plus tard : les enfants arrivent pour le
wouik-end et j'ai la bergere qui brame que j'y passe mes nuits etc...
Fredo

On 17 nov, 20:21, "gazelle" wrote:
Oups je suis restée bloquée sur la question 2...

Pour désactiver le menu Imprimer il faut modifier les commandbars :
Sub ouverture()
Dim ccmdB As CommandBarControl
Set myControl = CommandBars(1).Controls(1)
For Each ccmdB In myControl.Controls
If ccmdB.Index = 15 Then ccmdB.Enabled = False
Next ccmdB
End Sub
Ne pas oublier de remettre à True à la fermeture du classeur.

Gazelle

"Fred" a écrit dans le message de news:

Merci Gazelle

Ta ligne de code marche bien pour ma question 2. Ce point est réglé.

Peux-tu m'aider pour la question 1 ?

Fred

On 17 nov, 19:31, "gazelle" wrote:

Bonsoir Fredo,

Application.Dialogs(xlDialogPrint).Show

Cordialement,
Gazelle

"Fred" a écrit dans le message de news:

Bonsoir à tous,

Je heurte sur 2 micro petiot problemo.
Je voudrais que l'utilisateur lambda puisse imprimer 2 plages
différentes d'un tableau.
1° - Je voudrais qu'il ne puisse PAS imprimer par le menu Fichier ni
en cliquant sur le bouton imprimer.
Je ne sais pas désactiver ces méthodes uniquement pour cette feuill e.
Le reste du classeur doit s'imprimer comme d'hab.

2° - Qu'il soit obligé d'imprimer en cliquant sur l'un ou l'autre d es
2 boutons macro.
Je sais faire par l'enregistreur : Selectionner la plage nommée, la
designer zone d'impression.
Ce que je n'arrive pas à faire c'est afficher la boite de dialogue"
imprimer" avec le petit aperçu de la page et que la macro s'arrète
là et rende la main à l'utilisateur. Ceci permettrait que
l'utilisateur choisisse le nombre de copies et imprime ou annule...
Par l'enregistreur je n'arrive qu'à lancer l'impression et pas
uniquement à afficher la boite de dialogue.

Merci à celui qui a le temps.
Fredo




Avatar
MichDenis
Dans un module standard :
'---------------------------------------
Sub Imprimer()

Dim Arr()
Arr = Array(4, 2521)
For Each elt In Arr
For Each CBAR In Application.CommandBars.FindControls(ID:=elt)
CBAR.OnAction = "PasImpression"
Next CBAR, elt

End Sub
'---------------------------------------
Sub PasImpression()
MsgBox "Commande désactivée.", vbCritical + vbOKOnly, "Le boss"
End Sub
'---------------------------------------

Sub ActiverImprimer()

Dim Arr()
Arr = Array(4, 2521)
For Each elt In Arr
For Each CBAR In Application.CommandBars.FindControls(ID:=elt)
CBAR.OnAction = ""
Next CBAR, elt

End Sub
'---------------------------------------

Et dans le ThisWorkbook de ton classeur
'--------------------- :
Private Sub Workbook_Activate()
Imprimer
End Sub
'---------------------
Private Sub Workbook_Deactivate()
ActiverImprimer
End Sub
'---------------------




"Fred" a écrit dans le message de news:

Bonsoir à tous,

Je heurte sur 2 micro petiot problemo.
Je voudrais que l'utilisateur lambda puisse imprimer 2 plages
différentes d'un tableau.
1° - Je voudrais qu'il ne puisse PAS imprimer par le menu Fichier ni
en cliquant sur le bouton imprimer.
Je ne sais pas désactiver ces méthodes uniquement pour cette feuille.
Le reste du classeur doit s'imprimer comme d'hab.

2° - Qu'il soit obligé d'imprimer en cliquant sur l'un ou l'autre des
2 boutons macro.
Je sais faire par l'enregistreur : Selectionner la plage nommée, la
designer zone d'impression.
Ce que je n'arrive pas à faire c'est afficher la boite de dialogue"
imprimer" avec le petit aperçu de la page et que la macro s'arrète
là et rende la main à l'utilisateur. Ceci permettrait que
l'utilisateur choisisse le nombre de copies et imprime ou annule...
Par l'enregistreur je n'arrive qu'à lancer l'impression et pas
uniquement à afficher la boite de dialogue.

Merci à celui qui a le temps.
Fredo
Avatar
lSteph
Hello,
Je vois...
une seule solution

Private Sub Bergère_brame()
Do
'...
loop while Bergère.Enable=true
DoEvents
end sub

Cdlt.

lSteph


Fred avait soumis l'idée :
Merci Gazelle, je verrais sa plus tard : les enfants arrivent pour le
wouik-end et j'ai la bergere qui brame que j'y passe mes nuits etc...
Fredo

On 17 nov, 20:21, "gazelle" wrote:
Oups je suis restée bloquée sur la question 2...

Pour désactiver le menu Imprimer il faut modifier les commandbars :
Sub ouverture()
Dim ccmdB As CommandBarControl
Set myControl = CommandBars(1).Controls(1)
For Each ccmdB In myControl.Controls
If ccmdB.Index = 15 Then ccmdB.Enabled = False
Next ccmdB
End Sub
Ne pas oublier de remettre à True à la fermeture du classeur.

Gazelle

"Fred" a écrit dans le message de news:

Merci Gazelle

Ta ligne de code marche bien pour ma question 2. Ce point est réglé.

Peux-tu m'aider pour la question 1 ?

Fred

On 17 nov, 19:31, "gazelle" wrote:

Bonsoir Fredo,

Application.Dialogs(xlDialogPrint).Show
Cordialement,
Gazelle

"Fred" a écrit dans le message de news:

Bonsoir à tous,

Je heurte sur 2 micro petiot problemo.
Je voudrais que l'utilisateur lambda puisse imprimer 2 plages
différentes d'un tableau.
1° - Je voudrais qu'il ne puisse PAS imprimer par le menu Fichier ni
en cliquant sur le bouton imprimer.
Je ne sais pas désactiver ces méthodes uniquement pour cette feuille.
Le reste du classeur doit s'imprimer comme d'hab.
2° - Qu'il soit obligé d'imprimer en cliquant sur l'un ou l'autre des
2 boutons macro.
Je sais faire par l'enregistreur : Selectionner la plage nommée, la
designer zone d'impression.
Ce que je n'arrive pas à faire c'est afficher la boite de dialogue"
imprimer" avec le petit aperçu de la page et que la macro s'arrète
là et rende la main à l'utilisateur. Ceci permettrait que
l'utilisateur choisisse le nombre de copies et imprime ou annule...
Par l'enregistreur je n'arrive qu'à lancer l'impression et pas
uniquement à afficher la boite de dialogue.
Merci à celui qui a le temps.
Fredo




--
- -



Avatar
cousinhub
'soir,
personnellement j'aurais mis :

loop while Bergère.Enable=true =>
loop while Bergère.AlertBeforeVeling = true



Hello,
Je vois...
une seule solution

Private Sub Bergère_brame()
Do
'...
loop while Bergère.Enable=true
DoEvents
end sub

Cdlt.

lSteph


Fred avait soumis l'idée :
Merci Gazelle, je verrais sa plus tard : les enfants arrivent pour le
wouik-end et j'ai la bergere qui brame que j'y passe mes nuits etc...
Fredo

On 17 nov, 20:21, "gazelle" wrote:
Oups je suis restée bloquée sur la question 2...

Pour désactiver le menu Imprimer il faut modifier les commandbars :
Sub ouverture()
Dim ccmdB As CommandBarControl
Set myControl = CommandBars(1).Controls(1)
For Each ccmdB In myControl.Controls
If ccmdB.Index = 15 Then ccmdB.Enabled = False
Next ccmdB
End Sub
Ne pas oublier de remettre à True à la fermeture du classeur.

Gazelle

"Fred" a écrit dans le message de news:

Merci Gazelle

Ta ligne de code marche bien pour ma question 2. Ce point est réglé.

Peux-tu m'aider pour la question 1 ?

Fred

On 17 nov, 19:31, "gazelle" wrote:

Bonsoir Fredo,

Application.Dialogs(xlDialogPrint).Show
Cordialement,
Gazelle

"Fred" a écrit dans le message de news:

Bonsoir à tous,

Je heurte sur 2 micro petiot problemo.
Je voudrais que l'utilisateur lambda puisse imprimer 2 plages
différentes d'un tableau.
1° - Je voudrais qu'il ne puisse PAS imprimer par le menu Fichier ni
en cliquant sur le bouton imprimer.
Je ne sais pas désactiver ces méthodes uniquement pour cette feuille.
Le reste du classeur doit s'imprimer comme d'hab.
2° - Qu'il soit obligé d'imprimer en cliquant sur l'un ou l'autre des
2 boutons macro.
Je sais faire par l'enregistreur : Selectionner la plage nommée, la
designer zone d'impression.
Ce que je n'arrive pas à faire c'est afficher la boite de dialogue"
imprimer" avec le petit aperçu de la page et que la macro s'arrète
là et rende la main à l'utilisateur. Ceci permettrait que
l'utilisateur choisisse le nombre de copies et imprime ou annule...
Par l'enregistreur je n'arrive qu'à lancer l'impression et pas
uniquement à afficher la boite de dialogue.
Merci à celui qui a le temps.
Fredo




--
- -








Avatar
Fredo
Bonsoir à tous,

(Le wouik-end est fini, les enfants sont repartis, la bergère à
l'oeil humide et je suis revenu au clavier....)

Merci à Gazelle pour ta proposition.

Ta proc ne fait rien chez moi :si je la lance rien n'est changé, ca
imprime très bien par le bouton IMPRIMER.
· Peux tu expliquer CommandBars(1).controls(1) = quesaco ? Faut-il
que moi je change le chiffre 1 ?
· Index  serait-ce le bouton Imprimer ?
· Comment la PRO fait-elle pour intervenir sur la bonne barre d'outil
si j'en ai plusieurs et comment trouve t'elle qu'il faut inactiver
IMPRIMER et non pas COPIER ou ???

Ais-je bien compris que cette PRO serait à mettre dans une feuille
lors de ACTIVATE ?
et basculer sur True lors de DEACTIVATE ?

-------------------------------
Merci à Michel DENIS pour ta proposition

Si je lance DesctiverImprimer il y a un message " Erreur de
Compilation, immpossible d'affecter à un tableau." et il ne se passe
rien d'autre.
· Aray c'est un tableau ? Pourquoi ? Ses dimensions sont 4 et 2521 ?

· Comment la PRO fait-elle pour intervenir sur la bonne barre d'outil
si j'en ai plusieurs et comment trouve t'elle qu'il faut inactiver
IMPRIMER et non pas COPIER ou AUTRE COMMANDE

-------------
Sur MAC la plupart des Proc fonctionnent sauf celles qui travaillent
avec Windows, celles qui utilisent OLE (je sais pas ce que c'est) et la
barre d'outil contrôle n'existe pas. (Formulaire existe)
Est-ce une raison pour que ces pro restent muettes ?

A vous lire mes biens chers maitres.
Fredo



Dans un module standard :
'---------------------------------------
Sub Imprimer()

Dim Arr()
Arr = Array(4, 2521)
For Each elt In Arr
For Each CBAR In Application.CommandBars.FindControls(ID:=elt)
CBAR.OnAction = "PasImpression"
Next CBAR, elt

End Sub
'---------------------------------------
Sub PasImpression()
MsgBox "Commande désactivée.", vbCritical + vbOKOnly, "Le boss"
End Sub
'---------------------------------------

Sub ActiverImprimer()

Dim Arr()
Arr = Array(4, 2521)
For Each elt In Arr
For Each CBAR In Application.CommandBars.FindControls(ID:=elt)
CBAR.OnAction = ""
Next CBAR, elt

End Sub
'---------------------------------------

Et dans le ThisWorkbook de ton classeur
'--------------------- :
Private Sub Workbook_Activate()
Imprimer
End Sub
'---------------------
Private Sub Workbook_Deactivate()
ActiverImprimer
End Sub
'---------------------




"Fred" a écrit dans le message de news:

Bonsoir à tous,

Je heurte sur 2 micro petiot problemo.
Je voudrais que l'utilisateur lambda puisse imprimer 2 plages
différentes d'un tableau.
1° - Je voudrais qu'il ne puisse PAS imprimer par le menu Fichier ni
en cliquant sur le bouton imprimer.
Je ne sais pas désactiver ces méthodes uniquement pour cette feuille.
Le reste du classeur doit s'imprimer comme d'hab.

2° - Qu'il soit obligé d'imprimer en cliquant sur l'un ou l'autre des
2 boutons macro.
Je sais faire par l'enregistreur : Selectionner la plage nommée, la
designer zone d'impression.
Ce que je n'arrive pas à faire c'est afficher la boite de dialogue"
imprimer" avec le petit aperçu de la page et que la macro s'arrète
là et rende la main à l'utilisateur. Ceci permettrait que
l'utilisateur choisisse le nombre de copies et imprime ou annule...
Par l'enregistreur je n'arrive qu'à lancer l'impression et pas
uniquement à afficher la boite de dialogue.

Merci à celui qui a le temps.
Fredo


Avatar
MichDenis
Essaie à nouveau et modifie la déclaration des variables
seulement ceci dans les 2 procédures :

Remplace ceci : Dim Arr() Par Dim Arr

Pourquoi : Parce qu'il y a des variantes selon la version d'excel
que tu possèdes...Si les procédures fonctionnent... cela va être
moins long à expliquer ... sinon je n'aurai aucune raison de t'expliquer
quelque chose qui ne fonctionne pas ...;-)






"Fredo" a écrit dans le message de news:

Bonsoir à tous,

(Le wouik-end est fini, les enfants sont repartis, la bergère à
l'oeil humide et je suis revenu au clavier....)

Merci à Gazelle pour ta proposition.

Ta proc ne fait rien chez moi :si je la lance rien n'est changé, ca
imprime très bien par le bouton IMPRIMER.
· Peux tu expliquer CommandBars(1).controls(1) = quesaco ? Faut-il
que moi je change le chiffre 1 ?
· Index  serait-ce le bouton Imprimer ?
· Comment la PRO fait-elle pour intervenir sur la bonne barre d'outil
si j'en ai plusieurs et comment trouve t'elle qu'il faut inactiver
IMPRIMER et non pas COPIER ou ???

Ais-je bien compris que cette PRO serait à mettre dans une feuille
lors de ACTIVATE ?
et basculer sur True lors de DEACTIVATE ?

-------------------------------
Merci à Michel DENIS pour ta proposition

Si je lance DesctiverImprimer il y a un message " Erreur de
Compilation, immpossible d'affecter à un tableau." et il ne se passe
rien d'autre.
· Aray c'est un tableau ? Pourquoi ? Ses dimensions sont 4 et 2521 ?

· Comment la PRO fait-elle pour intervenir sur la bonne barre d'outil
si j'en ai plusieurs et comment trouve t'elle qu'il faut inactiver
IMPRIMER et non pas COPIER ou AUTRE COMMANDE

-------------
Sur MAC la plupart des Proc fonctionnent sauf celles qui travaillent
avec Windows, celles qui utilisent OLE (je sais pas ce que c'est) et la
barre d'outil contrôle n'existe pas. (Formulaire existe)
Est-ce une raison pour que ces pro restent muettes ?

A vous lire mes biens chers maitres.
Fredo



Dans un module standard :
'---------------------------------------
Sub Imprimer()

Dim Arr()
Arr = Array(4, 2521)
For Each elt In Arr
For Each CBAR In Application.CommandBars.FindControls(ID:=elt)
CBAR.OnAction = "PasImpression"
Next CBAR, elt

End Sub
'---------------------------------------
Sub PasImpression()
MsgBox "Commande désactivée.", vbCritical + vbOKOnly, "Le boss"
End Sub
'---------------------------------------

Sub ActiverImprimer()

Dim Arr()
Arr = Array(4, 2521)
For Each elt In Arr
For Each CBAR In Application.CommandBars.FindControls(ID:=elt)
CBAR.OnAction = ""
Next CBAR, elt

End Sub
'---------------------------------------

Et dans le ThisWorkbook de ton classeur
'--------------------- :
Private Sub Workbook_Activate()
Imprimer
End Sub
'---------------------
Private Sub Workbook_Deactivate()
ActiverImprimer
End Sub
'---------------------




"Fred" a écrit dans le message de news:

Bonsoir à tous,

Je heurte sur 2 micro petiot problemo.
Je voudrais que l'utilisateur lambda puisse imprimer 2 plages
différentes d'un tableau.
1° - Je voudrais qu'il ne puisse PAS imprimer par le menu Fichier ni
en cliquant sur le bouton imprimer.
Je ne sais pas désactiver ces méthodes uniquement pour cette feuille.
Le reste du classeur doit s'imprimer comme d'hab.

2° - Qu'il soit obligé d'imprimer en cliquant sur l'un ou l'autre des
2 boutons macro.
Je sais faire par l'enregistreur : Selectionner la plage nommée, la
designer zone d'impression.
Ce que je n'arrive pas à faire c'est afficher la boite de dialogue"
imprimer" avec le petit aperçu de la page et que la macro s'arrète
là et rende la main à l'utilisateur. Ceci permettrait que
l'utilisateur choisisse le nombre de copies et imprime ou annule...
Par l'enregistreur je n'arrive qu'à lancer l'impression et pas
uniquement à afficher la boite de dialogue.

Merci à celui qui a le temps.
Fredo


Avatar
MichDenis
Et j'oubliais, si tu as une version Excel 97, il faut réécrire
en partie le code...


"MichDenis" a écrit dans le message de news:
%
Essaie à nouveau et modifie la déclaration des variables
seulement ceci dans les 2 procédures :

Remplace ceci : Dim Arr() Par Dim Arr

Pourquoi : Parce qu'il y a des variantes selon la version d'excel
que tu possèdes...Si les procédures fonctionnent... cela va être
moins long à expliquer ... sinon je n'aurai aucune raison de t'expliquer
quelque chose qui ne fonctionne pas ...;-)






"Fredo" a écrit dans le message de news:

Bonsoir à tous,

(Le wouik-end est fini, les enfants sont repartis, la bergère à
l'oeil humide et je suis revenu au clavier....)

Merci à Gazelle pour ta proposition.

Ta proc ne fait rien chez moi :si je la lance rien n'est changé, ca
imprime très bien par le bouton IMPRIMER.
· Peux tu expliquer CommandBars(1).controls(1) = quesaco ? Faut-il
que moi je change le chiffre 1 ?
· Index  serait-ce le bouton Imprimer ?
· Comment la PRO fait-elle pour intervenir sur la bonne barre d'outil
si j'en ai plusieurs et comment trouve t'elle qu'il faut inactiver
IMPRIMER et non pas COPIER ou ???

Ais-je bien compris que cette PRO serait à mettre dans une feuille
lors de ACTIVATE ?
et basculer sur True lors de DEACTIVATE ?

-------------------------------
Merci à Michel DENIS pour ta proposition

Si je lance DesctiverImprimer il y a un message " Erreur de
Compilation, immpossible d'affecter à un tableau." et il ne se passe
rien d'autre.
· Aray c'est un tableau ? Pourquoi ? Ses dimensions sont 4 et 2521 ?

· Comment la PRO fait-elle pour intervenir sur la bonne barre d'outil
si j'en ai plusieurs et comment trouve t'elle qu'il faut inactiver
IMPRIMER et non pas COPIER ou AUTRE COMMANDE

-------------
Sur MAC la plupart des Proc fonctionnent sauf celles qui travaillent
avec Windows, celles qui utilisent OLE (je sais pas ce que c'est) et la
barre d'outil contrôle n'existe pas. (Formulaire existe)
Est-ce une raison pour que ces pro restent muettes ?

A vous lire mes biens chers maitres.
Fredo



Dans un module standard :
'---------------------------------------
Sub Imprimer()

Dim Arr()
Arr = Array(4, 2521)
For Each elt In Arr
For Each CBAR In Application.CommandBars.FindControls(ID:=elt)
CBAR.OnAction = "PasImpression"
Next CBAR, elt

End Sub
'---------------------------------------
Sub PasImpression()
MsgBox "Commande désactivée.", vbCritical + vbOKOnly, "Le boss"
End Sub
'---------------------------------------

Sub ActiverImprimer()

Dim Arr()
Arr = Array(4, 2521)
For Each elt In Arr
For Each CBAR In Application.CommandBars.FindControls(ID:=elt)
CBAR.OnAction = ""
Next CBAR, elt

End Sub
'---------------------------------------

Et dans le ThisWorkbook de ton classeur
'--------------------- :
Private Sub Workbook_Activate()
Imprimer
End Sub
'---------------------
Private Sub Workbook_Deactivate()
ActiverImprimer
End Sub
'---------------------




"Fred" a écrit dans le message de news:

Bonsoir à tous,

Je heurte sur 2 micro petiot problemo.
Je voudrais que l'utilisateur lambda puisse imprimer 2 plages
différentes d'un tableau.
1° - Je voudrais qu'il ne puisse PAS imprimer par le menu Fichier ni
en cliquant sur le bouton imprimer.
Je ne sais pas désactiver ces méthodes uniquement pour cette feuille.
Le reste du classeur doit s'imprimer comme d'hab.

2° - Qu'il soit obligé d'imprimer en cliquant sur l'un ou l'autre des
2 boutons macro.
Je sais faire par l'enregistreur : Selectionner la plage nommée, la
designer zone d'impression.
Ce que je n'arrive pas à faire c'est afficher la boite de dialogue"
imprimer" avec le petit aperçu de la page et que la macro s'arrète
là et rende la main à l'utilisateur. Ceci permettrait que
l'utilisateur choisisse le nombre de copies et imprime ou annule...
Par l'enregistreur je n'arrive qu'à lancer l'impression et pas
uniquement à afficher la boite de dialogue.

Merci à celui qui a le temps.
Fredo


1 2