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