|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Développeur décisionnel Inscription : décembre 2011 Messages : 15 ![]() |
Bonjour à tous,
Je souhaiterais dans le cadres d'une macro VBA copier une feuille sans les bouton (exporter les données en quelque sorte) sans que l'utilisateur n'ait à appuyer sur un bouton. Bref, que les bouton de macro disparaissent de la feuille dès lors que la feuille est copiée vers un autre classeur. J'ai essayé de créer un événement Worksheet_AfterCopy mais ça ne fonctionne pas??? Si quelqu'un a une solution intéressante je suis partante (sans passer par un bouton de macro). Je bosse sur Excel 2003. |
|
|
00
|
|
|
#2 |
![]() ![]() |
quel est le code utilisé pour la copie ?
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Développeur décisionnel Inscription : décembre 2011 Messages : 15 ![]() |
là est la subtilité... il n'ya pas de code à proprement dit.
C'est lorsque l'utilisateur fait clic droit sur l'onglet de sa feuille et sélectionne "Deplacer ou copier..." Y-a-t-il une solution sans passer par un bouton de macro? Je vais reprécisez ma demande car je vois que ça n'a pas l'air clair. Ce que je voudrait en comme c'est créer un module de classe avec l'événment Worksheet_Copy (le code se générerait au moment où l'utilisateur après un clic droit sur l'onglet de la feuille la déplacera ou la copiera...) J'espère que vous serez plus inspirez que moi (je suis nulle quand on part dans la programmartion de module de classe). Un bouton ne résouderait qu'en partie le problème (y'aura toujours quelqu'un pour copier la feuille avec le clic droit sur l'onglet) |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Ça me parait pas simple... Pour pouvoir ajouter un tel évènement il faudrait sans doute piéger l'appelle de l'API responsable de la copy... Au lieu de supprimer les boutons, pourquoi dans le code des boutons ne pas tenir compte du nom (ou encore mieux du CodeName) de la feuille, la macro ne s’exécuterait que si celle-ci est appelée par la feuille "principale". Ou alors demander la destruction des boutons lors de l'affichage de l'onglet si le Name ou CodeName ne correspond pas à la feuille principale. ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
00
|
|
|
#5 | ||||
![]() ![]() |
Je ne connais pas d'événements Worksheet_AfterCopy ...
mais tu peu utiliser l'événement _SheetActivate de l'objet application : module de classe clApp Code :
Code d'initialisation dans un module : Code :
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
||||
|
00
|
|
|
#6 | |||||
|
Membre Expert
![]() Frédéric VandermeulenInscription : juillet 2007 Messages : 1 730 ![]() |
Citation:
Par exemple à l'activation de la feuille concernée (tu peux aussi le faire à l'ouverture du classeur, ou de manière permanente) Code :
Code :
Pour contourner, l'utilisateur doit cracker le mot de passe, je sais que c'est possible mais bon, faut pas pousser
__________________
N'oubliez pas le si votre problème est solutionné.
|
|||||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Développeur décisionnel Inscription : décembre 2011 Messages : 15 ![]() |
Merci pour toutes vos réponses je veux prendre un peu de tout ça et voir ce que cela donne (protection de la feuille, masquer les onglets et création d'un bouton "copier la feuille".
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com