Exécution de macros EXCEL

Résolu
GUGUSSE2 Messages postés 72 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 février 2017 - 26 oct. 2007 à 10:41
GUGUSSE2 Messages postés 72 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 février 2017 - 26 oct. 2007 à 13:24
Boujour à tous,
Que faut'il rajouter à une macro agissant sur un classeur pour pouvoir l'exécuter depuis un autre classeur (ouvert bien sûr !) ?
Merci d'avance.

3 réponses

cs_lecorsaire59 Messages postés 39 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 17 octobre 2008
26 oct. 2007 à 11:03
tu crées une macro qui active ton fichier, puis qui lance la macro et tu referme le fichier

workbooks(XXX).activate
3
cs_lecorsaire59 Messages postés 39 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 17 octobre 2008
26 oct. 2007 à 11:41
rebonjour,
  accepte la réponse que quand ta la solution finale... si tu l'as renvoie la pour les autres

voici une des solutions possibles:
dans le module du classeur contenant la macro colle :

Public Sub coucou()
MsgBox ("coucou")
End Sub

dans le fichier d'où tu souhaites lancer la macro écrit
Private Sub CommandButton1_Click()
Workbooks.Open "C:\Documents and Settings\XX\bureau\new2"
Workbooks("new2").Activate

Application.Run "new2.xls!Module1.coucou" ' news2 est le nom de fichier contant la macro, coucou est le nom de la macro
   
End Sub

dis moi si t'as finalisé...
0
GUGUSSE2 Messages postés 72 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 février 2017
26 oct. 2007 à 13:24
Boujour,


Pour ceux qui m'ont aidé et pour les autres qui seraient
intéressés, voici comment je m'en suis sorti, même si ce n'est pas la solution
la plus élégante :


J'ai créé un fichier comportant deux boutons auxquels j'ai
affecté les deux macros suivantes, ce fichier étant enregistré sur une
disquette ou sur une clef USB que le prof garde précieusement !


Il suffit d'ouvrir ce fichier ET le fichier
"xxx.xlsm" pour pouvoir protéger ou déprotéger d'un seul clic toutes
les feuilles, et les macros ne figurent pas dans le fichier vu par les élèves.
(autre avantage, le fichier que le prof doit mettre à jour est ouvert !).


Votre aide m'a été précieuse.



 




Sub Déprotéger_xxx()


'


Workbooks("xxx").Activate


Dim MDP As String


MDP = InputBox("Entrer mot de passe :",
"Désactivation de la protection des feuilles")


For Each f In Worksheets


f.Unprotect MDP


Next


End Sub



 




Sub Protéger_xxx()


'



    Workbooks("xxx").Activate



    Sheets("1").Select



   
ActiveSheet.Protect "toto", DrawingObjects:=True,
Contents:=True, Scenarios:=True



   
ActiveSheet.EnableSelection = xlUnlockedCells



    Sheets("2").Select



   
ActiveSheet.Protect "toto", DrawingObjects:=True,
Contents:=True, Scenarios:=True



   
ActiveSheet.EnableSelection = xlUnlockedCells



    Sheets("3").Select



   
ActiveSheet.Protect "toto", DrawingObjects:=True,
Contents:=True, Scenarios:=True



   
ActiveSheet.EnableSelection = xlUnlockedCells



    Sheets("4").Select



   
ActiveSheet.Protect "toto", DrawingObjects:=True,
Contents:=True, Scenarios:=True



   
ActiveSheet.EnableSelection = xlUnlockedCells
0
Rejoignez-nous