FENETRE DIALOGUE IMPRIMER SANS LANCER L'IMPRESSION
15 réponses
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.
Bonjour JPS et DENIS (et tous autres présents et à venir, salut)
Qui doit appeler qui ? Il est quelle heure au Quebéc ? Appeler ça veux dire mailer en direct hors Forum ? Inexplicable : cherchez la femme.
Fredo perplexe
On 20 nov, 08:12, "jps" wrote:
appelle-le Denis, fredo : notre québécois, qui explique même l'inex plicable, préférera... jps
"Fredo" a écrit dans le message de news:
Bonjour MICHEL.
MichDenis
Je crois deviner que tu es sur un Mac...et c'est un environnement que je ne connais pas !
Une dernière tentative, remplace les 2 procédures par ceux-ci :` Ces 2 procédures sont compatibles avec Excel 97 '------------------------------- Sub Imprimer() With Application.CommandBars .Item("Worksheet menu bar").FindControl(ID:=4, Recursive:=True).Enabled = False .Item("Standard").FindControl(ID:%21, Recursive:=True).Enabled = False .Item("Toolbar List").Enabled = False End With End Sub '------------------------------- Sub ActiverImprimer() With Application.CommandBars .Item(1).FindControl(ID:=4, Recursive:=True).Enabled = True .Item("Standard").FindControl(ID:%21, Recursive:=True).Enabled = True .Item("Toolbar List").Enabled = True End With End Sub '-------------------------------
Et tu peux supprimer celle-ci, elle est devenu inutile '------------------------- Sub PasImpression() MsgBox "Commande désactivée.", vbCritical + vbOKOnly, "Le boss" End Sub '-------------------------
"Fredo" a écrit dans le message de news:
Bonjour JPS et DENIS (et tous autres présents et à venir, salut)
Qui doit appeler qui ? Il est quelle heure au Quebéc ? Appeler ça veux dire mailer en direct hors Forum ? Inexplicable : cherchez la femme.
Fredo perplexe
On 20 nov, 08:12, "jps" wrote:
appelle-le Denis, fredo : notre québécois, qui explique même l'inexplicable, préférera... jps
"Fredo" a écrit dans le message de news:
Bonjour MICHEL.
Je crois deviner que tu es sur un Mac...et c'est un environnement que je ne connais pas !
Une dernière tentative, remplace les 2 procédures par ceux-ci :`
Ces 2 procédures sont compatibles avec Excel 97
'-------------------------------
Sub Imprimer()
With Application.CommandBars
.Item("Worksheet menu bar").FindControl(ID:=4, Recursive:=True).Enabled = False
.Item("Standard").FindControl(ID:%21, Recursive:=True).Enabled = False
.Item("Toolbar List").Enabled = False
End With
End Sub
'-------------------------------
Sub ActiverImprimer()
With Application.CommandBars
.Item(1).FindControl(ID:=4, Recursive:=True).Enabled = True
.Item("Standard").FindControl(ID:%21, Recursive:=True).Enabled = True
.Item("Toolbar List").Enabled = True
End With
End Sub
'-------------------------------
Et tu peux supprimer celle-ci, elle est devenu inutile
'-------------------------
Sub PasImpression()
MsgBox "Commande désactivée.", vbCritical + vbOKOnly, "Le boss"
End Sub
'-------------------------
"Fredo" <arche.co2@wanadoo.fr> a écrit dans le message de news:
1164015802.961294.172280@h54g2000cwb.googlegroups.com...
Bonjour JPS et DENIS (et tous autres présents et à venir, salut)
Qui doit appeler qui ?
Il est quelle heure au Quebéc ?
Appeler ça veux dire mailer en direct hors Forum ?
Inexplicable : cherchez la femme.
Fredo perplexe
On 20 nov, 08:12, "jps" <j...@wannadoodoo.fr> wrote:
appelle-le Denis, fredo : notre québécois, qui explique même l'inexplicable,
préférera...
jps
"Fredo" <arche....@wanadoo.fr> a écrit dans le message de news:
1164005574.026418.82...@m7g2000cwm.googlegroups.com...
Je crois deviner que tu es sur un Mac...et c'est un environnement que je ne connais pas !
Une dernière tentative, remplace les 2 procédures par ceux-ci :` Ces 2 procédures sont compatibles avec Excel 97 '------------------------------- Sub Imprimer() With Application.CommandBars .Item("Worksheet menu bar").FindControl(ID:=4, Recursive:=True).Enabled = False .Item("Standard").FindControl(ID:%21, Recursive:=True).Enabled = False .Item("Toolbar List").Enabled = False End With End Sub '------------------------------- Sub ActiverImprimer() With Application.CommandBars .Item(1).FindControl(ID:=4, Recursive:=True).Enabled = True .Item("Standard").FindControl(ID:%21, Recursive:=True).Enabled = True .Item("Toolbar List").Enabled = True End With End Sub '-------------------------------
Et tu peux supprimer celle-ci, elle est devenu inutile '------------------------- Sub PasImpression() MsgBox "Commande désactivée.", vbCritical + vbOKOnly, "Le boss" End Sub '-------------------------
"Fredo" a écrit dans le message de news:
Bonjour JPS et DENIS (et tous autres présents et à venir, salut)
Qui doit appeler qui ? Il est quelle heure au Quebéc ? Appeler ça veux dire mailer en direct hors Forum ? Inexplicable : cherchez la femme.
Fredo perplexe
On 20 nov, 08:12, "jps" wrote:
appelle-le Denis, fredo : notre québécois, qui explique même l'inexplicable, préférera... jps
"Fredo" a écrit dans le message de news:
Bonjour MICHEL.
Fredo
Bonsoir MichDenis, je te felicite pour ta perspicacité :-) Non, je ne te lacherai pas la grappe :-)
Effectivement c'est un MAC, mais n'ai pas peur. La plus grosse différence de ce type de machine c'est qu'on appuis pas sur le bouton démarrer pour arréter. Le reste c'est quasi pareil. Peu différent pour Excel (SAUF contrôles et Windows)
Réponse à ta derniere proposition : en VBA 97 ça ne marche pas.(Je suis surpris que tu m'ai demandé ce test : les Mac ont l'eau chaude. Excel MAC 2004 systeme 10 c'est le même stade de developpement que votre dernier stade sous PC.)
Question 1 : tu ne ma pas submergé d'explications sur ta stratégie pour mon soucis de desactiver l'impression SAUF en utilisant le bouton macro Pour imprimer. Si je t'ai compris ta pro initiale (pas celle VBA 97) cherche dans chaque barre d'outil un contrôle désigné "elt" Je n'ai pas compris ce quelle lui fait à ce controle ELT. Je ne sait pas non plus a quoi sert ARAY.
J'ai enregistré les 2 instructions ci-dessous (pour te montrer) Le n° du bouton c'est son rang dans la barre et il n'est pas absolu. Ca ne marche que sur ma barre perso.
Sub SUPPRIMER_outilImprimer() Application.CommandBars("Excel FRED").Controls(1).Delete 'Controls(1) c'est le 1er bouton d'outil imprimer End Sub '-------------------------- Sub REMETTRE_loutilImprimer() Application.CommandBars("Excel FRED").Controls.Add Type:=msoControlButton, _ Id:=4, Before:=1 End Sub
Idée bête du candide. Si dans la feuille Workbook à l'évenement before print on a une pro qui dit : Si l'evénement imprimer provient lorsque la feuille 1 est active (ou si on veux imprimer feuil 1) dans ce cas refuser l'impression (ABORT ??) et envoyer message courtois à Gaston : "Connard utilise le bouton macro." Par contre si ce n'est pas la feuille 1, laisser faire l'impression.
Si ca te semble jouable je voudrais essayer de faire le code avec IF THEN, mais je ne sais pas faire l'instruction ABORT.
Ralala, t"es bien patient d'avoir lu jusque là.
Fredo
Je crois deviner que tu es sur un Mac...et c'est un environnement que je ne connais pas !
Une dernière tentative, remplace les 2 procédures par ceux-ci :` Ces 2 procédures sont compatibles avec Excel 97 '------------------------------- Sub Imprimer() With Application.CommandBars .Item("Worksheet menu bar").FindControl(ID:=4, Recursive:=True).E nabled = False .Item("Standard").FindControl(ID:%21, Recursive:=True).Enabled = False .Item("Toolbar List").Enabled = False End With End Sub '------------------------------- Sub ActiverImprimer() With Application.CommandBars .Item(1).FindControl(ID:=4, Recursive:=True).Enabled = True .Item("Standard").FindControl(ID:%21, Recursive:=True).Enabled = True .Item("Toolbar List").Enabled = True End With End Sub '-------------------------------
Et tu peux supprimer celle-ci, elle est devenu inutile '------------------------- Sub PasImpression() MsgBox "Commande désactivée.", vbCritical + vbOKOnly, "Le boss" End Sub '-------------------------
"Fredo" a écrit dans le message de news:
Bonjour JPS et DENIS (et tous autres présents et à venir, salut)
Qui doit appeler qui ? Il est quelle heure au Quebéc ? Appeler ça veux dire mailer en direct hors Forum ? Inexplicable : cherchez la femme.
Fredo perplexe
On 20 nov, 08:12, "jps" wrote:
appelle-le Denis, fredo : notre québécois, qui explique même l'in explicable, préférera... jps
"Fredo" a écrit dans le message de news:
Bonjour MICHEL.
Bonsoir MichDenis, je te felicite pour ta perspicacité :-)
Non, je ne te lacherai pas la grappe :-)
Effectivement c'est un MAC, mais n'ai pas peur. La plus grosse
différence de ce type de machine c'est qu'on appuis pas sur le bouton
démarrer pour arréter. Le reste c'est quasi pareil. Peu différent
pour Excel (SAUF contrôles et Windows)
Réponse à ta derniere proposition : en VBA 97 ça ne marche pas.(Je
suis surpris que tu m'ai demandé ce test : les Mac ont l'eau chaude.
Excel MAC 2004 systeme 10 c'est le même stade de developpement que
votre dernier stade sous PC.)
Question 1 : tu ne ma pas submergé d'explications sur ta stratégie
pour mon soucis de desactiver l'impression SAUF en utilisant le bouton
macro Pour imprimer.
Si je t'ai compris ta pro initiale (pas celle VBA 97) cherche dans
chaque barre d'outil un contrôle désigné "elt"
Je n'ai pas compris ce quelle lui fait à ce controle ELT. Je ne sait
pas non plus a quoi sert ARAY.
J'ai enregistré les 2 instructions ci-dessous (pour te montrer) Le n°
du bouton c'est son rang dans la barre et il n'est pas absolu. Ca ne
marche que sur ma barre perso.
Sub SUPPRIMER_outilImprimer()
Application.CommandBars("Excel FRED").Controls(1).Delete
'Controls(1) c'est le 1er bouton d'outil imprimer
End Sub
'--------------------------
Sub REMETTRE_loutilImprimer()
Application.CommandBars("Excel FRED").Controls.Add
Type:=msoControlButton, _
Id:=4, Before:=1
End Sub
Idée bête du candide.
Si dans la feuille Workbook à l'évenement before print on a une pro
qui dit :
Si l'evénement imprimer provient lorsque la feuille 1 est active (ou
si on veux imprimer feuil 1) dans ce cas refuser l'impression (ABORT
??) et envoyer message courtois à Gaston : "Connard utilise le bouton
macro."
Par contre si ce n'est pas la feuille 1, laisser faire l'impression.
Si ca te semble jouable je voudrais essayer de faire le code avec IF
THEN, mais je ne sais pas faire l'instruction ABORT.
Ralala, t"es bien patient d'avoir lu jusque là.
Fredo
Je crois deviner que tu es sur un Mac...et c'est un environnement que je ne connais pas !
Une dernière tentative, remplace les 2 procédures par ceux-ci :`
Ces 2 procédures sont compatibles avec Excel 97
'-------------------------------
Sub Imprimer()
With Application.CommandBars
.Item("Worksheet menu bar").FindControl(ID:=4, Recursive:=True).E nabled = False
.Item("Standard").FindControl(ID:=2521, Recursive:=True).Enabled = False
.Item("Toolbar List").Enabled = False
End With
End Sub
'-------------------------------
Sub ActiverImprimer()
With Application.CommandBars
.Item(1).FindControl(ID:=4, Recursive:=True).Enabled = True
.Item("Standard").FindControl(ID:=2521, Recursive:=True).Enabled = True
.Item("Toolbar List").Enabled = True
End With
End Sub
'-------------------------------
Et tu peux supprimer celle-ci, elle est devenu inutile
'-------------------------
Sub PasImpression()
MsgBox "Commande désactivée.", vbCritical + vbOKOnly, "Le boss"
End Sub
'-------------------------
"Fredo" <arche.co2@wanadoo.fr> a écrit dans le message de news:
1164015802.961294.172280@h54g2000cwb.googlegroups.com...
Bonjour JPS et DENIS (et tous autres présents et à venir, salut)
Qui doit appeler qui ?
Il est quelle heure au Quebéc ?
Appeler ça veux dire mailer en direct hors Forum ?
Inexplicable : cherchez la femme.
Fredo perplexe
On 20 nov, 08:12, "jps" <j...@wannadoodoo.fr> wrote:
appelle-le Denis, fredo : notre québécois, qui explique même l'in explicable,
préférera...
jps
"Fredo" <arche....@wanadoo.fr> a écrit dans le message de news:
1164005574.026418.82...@m7g2000cwm.googlegroups.com...
Bonsoir MichDenis, je te felicite pour ta perspicacité :-) Non, je ne te lacherai pas la grappe :-)
Effectivement c'est un MAC, mais n'ai pas peur. La plus grosse différence de ce type de machine c'est qu'on appuis pas sur le bouton démarrer pour arréter. Le reste c'est quasi pareil. Peu différent pour Excel (SAUF contrôles et Windows)
Réponse à ta derniere proposition : en VBA 97 ça ne marche pas.(Je suis surpris que tu m'ai demandé ce test : les Mac ont l'eau chaude. Excel MAC 2004 systeme 10 c'est le même stade de developpement que votre dernier stade sous PC.)
Question 1 : tu ne ma pas submergé d'explications sur ta stratégie pour mon soucis de desactiver l'impression SAUF en utilisant le bouton macro Pour imprimer. Si je t'ai compris ta pro initiale (pas celle VBA 97) cherche dans chaque barre d'outil un contrôle désigné "elt" Je n'ai pas compris ce quelle lui fait à ce controle ELT. Je ne sait pas non plus a quoi sert ARAY.
J'ai enregistré les 2 instructions ci-dessous (pour te montrer) Le n° du bouton c'est son rang dans la barre et il n'est pas absolu. Ca ne marche que sur ma barre perso.
Sub SUPPRIMER_outilImprimer() Application.CommandBars("Excel FRED").Controls(1).Delete 'Controls(1) c'est le 1er bouton d'outil imprimer End Sub '-------------------------- Sub REMETTRE_loutilImprimer() Application.CommandBars("Excel FRED").Controls.Add Type:=msoControlButton, _ Id:=4, Before:=1 End Sub
Idée bête du candide. Si dans la feuille Workbook à l'évenement before print on a une pro qui dit : Si l'evénement imprimer provient lorsque la feuille 1 est active (ou si on veux imprimer feuil 1) dans ce cas refuser l'impression (ABORT ??) et envoyer message courtois à Gaston : "Connard utilise le bouton macro." Par contre si ce n'est pas la feuille 1, laisser faire l'impression.
Si ca te semble jouable je voudrais essayer de faire le code avec IF THEN, mais je ne sais pas faire l'instruction ABORT.
Ralala, t"es bien patient d'avoir lu jusque là.
Fredo
Je crois deviner que tu es sur un Mac...et c'est un environnement que je ne connais pas !
Une dernière tentative, remplace les 2 procédures par ceux-ci :` Ces 2 procédures sont compatibles avec Excel 97 '------------------------------- Sub Imprimer() With Application.CommandBars .Item("Worksheet menu bar").FindControl(ID:=4, Recursive:=True).E nabled = False .Item("Standard").FindControl(ID:%21, Recursive:=True).Enabled = False .Item("Toolbar List").Enabled = False End With End Sub '------------------------------- Sub ActiverImprimer() With Application.CommandBars .Item(1).FindControl(ID:=4, Recursive:=True).Enabled = True .Item("Standard").FindControl(ID:%21, Recursive:=True).Enabled = True .Item("Toolbar List").Enabled = True End With End Sub '-------------------------------
Et tu peux supprimer celle-ci, elle est devenu inutile '------------------------- Sub PasImpression() MsgBox "Commande désactivée.", vbCritical + vbOKOnly, "Le boss" End Sub '-------------------------
"Fredo" a écrit dans le message de news:
Bonjour JPS et DENIS (et tous autres présents et à venir, salut)
Qui doit appeler qui ? Il est quelle heure au Quebéc ? Appeler ça veux dire mailer en direct hors Forum ? Inexplicable : cherchez la femme.
Fredo perplexe
On 20 nov, 08:12, "jps" wrote:
appelle-le Denis, fredo : notre québécois, qui explique même l'in explicable, préférera... jps