Macro d'impression

Résolu/Fermé
Utilisateur anonyme - 29 sept. 2013 à 19:16
 Utilisateur anonyme - 30 sept. 2013 à 13:50
Bonjour,

Je souhaiterai savoir s'il est possible de créer une macro qui ne s'exécute que lorsque l'on appui sur un bouton pour la seconde fois? J'ai un document excel dont je gère l'impression via un bouton je souhaiterai que dès que l'on appui pour la seconde fois sur le bouton (ou dès que la feuil a déjà été imprimé une première fois) une boite de dialogue s'ouvre. J'ai déjà la macro d'impression et celle de la boite de dialogue, le tout relié au bouton sans soucis.C'est pour la condition de l'exécution de cette boite de dialogue. Est ce réalisable?
A voir également:

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
29 sept. 2013 à 20:08
Bonjour,

En clair, la deuxieme action sur le bouton sert a quoi ???
0
Utilisateur anonyme
29 sept. 2013 à 20:49
La première fois ou l'on clique sur le bouton lancement de l'impression (via macro), la seconde fois ouverture de la macro "boite de dialogue" (demande de confirmation de d'impression), et suivant réponse lancement de l'impression mais cet enchainement la ça le fait.
Donc une macro qui me permette de faire le choix de quelle macro est lancée en fonction du nombre de fois ou l'on a appuyé sur le bouton. J'espère avoir été plus clair.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié par f894009 le 29/09/2013 à 21:34
Re,

J'espère avoir été plus clair Non, mais c'est peut-etre moi qui a un coup de mou

un bouton je souhaiterai que dès que l'on appui pour la seconde fois sur le bouton (ou dès que la feuil a déjà été imprimé une première fois) une boite de dialogue s'ouvre

et

La première fois ou l'on clique sur le bouton lancement de l'impression (via macro), la seconde fois ouverture de la macro "boite de dialogue" (demande de confirmation de d'impression)

si vous lancez une impression, comment voulez-vous la stopper ????
0
Utilisateur anonyme
30 sept. 2013 à 09:21
Bon alors reprenons:
J'ai une feuille excel, avec un bouton que j'ai ajouté, j'ai une macro d'impression qui imprime autant de feuille qu'il y a de service concerné par cette feuille. Et une seconde macro qui ouvre une boite de dialogue "la feuille a déjà été imprimé/êtes vous sur de vouloir imprimer" si la réponse est oui, la macro d'impression se lance sinon je reviens à ma feuille.
Le bouton est lié à la macro boite de dialogue, donc à l'heure actuelle si j'appuie sur mon bouton ma boite de dialogue s'ouvre et suivant ma réponse imprime ou non. Seulement je voudrai que lorsque l'on appui pour la première fois sur le bouton la boite de dialogue n'apparaisse pas, et que la macro d'impression soit lancée.
Cela a pour but d'éviter l'impression de doublon, étant donné que c'est une feuille commune a différent service. Mon impression est déjà maitrisée par macro. Mon problème étant de réaliser un outil qui permette la première impression de la feuille, mais qui prévienne (qu'une impression a déjà été réalisé) lors de la demande de la seconde impression.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
30 sept. 2013 à 10:26
Bonjour,

Deux facons de faire:

1/Sur validation par oui de votre deuxieme macro: rendre le bouton invisible par programme
et le remettre visible a l'ouverture du classeur
bouton controle de formulaire
'invisible
Worksheets("feuil1").Buttons("Bouton 1").Visible = False
'visible
Worksheets("feuil1").Buttons("Bouton 1").Visible = True
ou

2/ declarer un drapeau (boolean) dans un module ex: public Flag_un as boolean
le tester au debut de votre premiere macro, si False alors continuer et sur validation par
oui de votre deuxieme macro le mettre a true: Flag_un=True

A+
0
juliemiss Messages postés 93 Date d'inscription jeudi 20 décembre 2012 Statut Membre Dernière intervention 12 octobre 2013 57
30 sept. 2013 à 10:35
Tout à fait d''accord.Merci pour l'info.
0