Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir:
Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Bonjour, Qu'est-ce que tu entends par "macro non exécutable" ? Cordialement. Daniel
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
Bonjour,
Qu'est-ce que tu entends par "macro non exécutable" ?
Cordialement.
Daniel
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à
savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non
exécutable ?
Bonjour, Qu'est-ce que tu entends par "macro non exécutable" ? Cordialement. Daniel
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
jenesaispaspourquoi
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
Bonjour DanielCo,
Par macro non exécutable, j'entends macro mise en commentaires. Est-ce possible ?
Cordialement
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des
macros, à savoir:
Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non
exécutable ?
Merci pour vos réponses.
Cordialement
Bonjour DanielCo,
Par macro non exécutable, j'entends macro mise en commentaires.
Est-ce possible ?
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
Bonjour DanielCo,
Par macro non exécutable, j'entends macro mise en commentaires. Est-ce possible ?
Cordialement
DanielCo
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
Bonjour DanielCo,
Par macro non exécutable, j'entends macro mise en commentaires. Est-ce possible ?
Cordialement
J'ai trouvé ce code pour tester l'existence d'une macro (désolé, les commentaires sont en anglais :
'================================================================================ '- CHECK IF A MODULE & SUBROUTINE EXISTS '- VBA constant : vbext_pk_Proc = All procedures other than property procedures. '- An error is generated if the Module or Sub() does not exist - so we trap them. '--------------------------------------------------------------------------------- '- VB Editor : Tools/References - add reference TO ...... '- .... "Microsoft Visual Basic For Applications Extensibility" '---------------------------------------------------------------------------------- '- Brian Baulsom October 2007 '================================================================================= Sub MacroExists() Dim MyModule As Object Dim MyModuleName As String Dim MySub As String Dim MyLine As Long
'--------------------------------------------------------------------------- '- test data MyModuleName = "TestModule" MySub = "Number2"
'---------------------------------------------------------------------------- On Error Resume Next '- MODULE Set MyModule = ActiveWorkbook.VBProject.vbComponents(MyModuleName).CodeModule If Err.Number <> 0 Then MsgBox ("Module : " & MyModuleName & vbCr & "does not exist.") Exit Sub End If
'----------------------------------------------------------------------------- '- SUBROUTINE '- find first line of subroutine (or error) MyLine = MyModule.ProcStartLine(MySub, vbext_pk_Proc) If Err.Number <> 0 Then MsgBox ("Module exists : " & MyModuleName & vbCr _ & "Sub " & MySub & "( ) : does not exist.") Else MsgBox ("Module : " & MyModuleName & vbCr _ & "Subroutine : " & MySub & vbCr _ & "Line Number : " & MyLine) End If End Sub '-----------------------------------------------------------------------------------
Daniel
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des
macros, à savoir:
Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non
exécutable ?
Merci pour vos réponses.
Cordialement
Bonjour DanielCo,
Par macro non exécutable, j'entends macro mise en commentaires.
Est-ce possible ?
Cordialement
J'ai trouvé ce code pour tester l'existence d'une macro (désolé, les
commentaires sont en anglais :
'================================================================================ '- CHECK IF A MODULE & SUBROUTINE EXISTS
'- VBA constant : vbext_pk_Proc = All procedures other than property
procedures.
'- An error is generated if the Module or Sub() does not exist - so we
trap them.
'---------------------------------------------------------------------------------
'- VB Editor : Tools/References - add reference TO ......
'- .... "Microsoft Visual Basic For Applications Extensibility"
'----------------------------------------------------------------------------------
'- Brian Baulsom October 2007
'================================================================================= Sub MacroExists()
Dim MyModule As Object
Dim MyModuleName As String
Dim MySub As String
Dim MyLine As Long
'---------------------------------------------------------------------------
'- test data
MyModuleName = "TestModule"
MySub = "Number2"
'----------------------------------------------------------------------------
On Error Resume Next
'- MODULE
Set MyModule =
ActiveWorkbook.VBProject.vbComponents(MyModuleName).CodeModule
If Err.Number <> 0 Then
MsgBox ("Module : " & MyModuleName & vbCr & "does not exist.")
Exit Sub
End If
'-----------------------------------------------------------------------------
'- SUBROUTINE
'- find first line of subroutine (or error)
MyLine = MyModule.ProcStartLine(MySub, vbext_pk_Proc)
If Err.Number <> 0 Then
MsgBox ("Module exists : " & MyModuleName & vbCr _
& "Sub " & MySub & "( ) : does not exist.")
Else
MsgBox ("Module : " & MyModuleName & vbCr _
& "Subroutine : " & MySub & vbCr _
& "Line Number : " & MyLine)
End If
End Sub
'-----------------------------------------------------------------------------------
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
Bonjour DanielCo,
Par macro non exécutable, j'entends macro mise en commentaires. Est-ce possible ?
Cordialement
J'ai trouvé ce code pour tester l'existence d'une macro (désolé, les commentaires sont en anglais :
'================================================================================ '- CHECK IF A MODULE & SUBROUTINE EXISTS '- VBA constant : vbext_pk_Proc = All procedures other than property procedures. '- An error is generated if the Module or Sub() does not exist - so we trap them. '--------------------------------------------------------------------------------- '- VB Editor : Tools/References - add reference TO ...... '- .... "Microsoft Visual Basic For Applications Extensibility" '---------------------------------------------------------------------------------- '- Brian Baulsom October 2007 '================================================================================= Sub MacroExists() Dim MyModule As Object Dim MyModuleName As String Dim MySub As String Dim MyLine As Long
'--------------------------------------------------------------------------- '- test data MyModuleName = "TestModule" MySub = "Number2"
'---------------------------------------------------------------------------- On Error Resume Next '- MODULE Set MyModule = ActiveWorkbook.VBProject.vbComponents(MyModuleName).CodeModule If Err.Number <> 0 Then MsgBox ("Module : " & MyModuleName & vbCr & "does not exist.") Exit Sub End If
'----------------------------------------------------------------------------- '- SUBROUTINE '- find first line of subroutine (or error) MyLine = MyModule.ProcStartLine(MySub, vbext_pk_Proc) If Err.Number <> 0 Then MsgBox ("Module exists : " & MyModuleName & vbCr _ & "Sub " & MySub & "( ) : does not exist.") Else MsgBox ("Module : " & MyModuleName & vbCr _ & "Subroutine : " & MySub & vbCr _ & "Line Number : " & MyLine) End If End Sub '-----------------------------------------------------------------------------------
Daniel
jenesaispaspourquoi
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
DanielCo,
Merci pour votre retour. Je teste un peu plus tard et vous tiens informé. Merci.
Cordialement
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des
macros, à savoir:
Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non
exécutable ?
Merci pour vos réponses.
Cordialement
DanielCo,
Merci pour votre retour.
Je teste un peu plus tard et vous tiens informé.
Merci.
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
DanielCo,
Merci pour votre retour. Je teste un peu plus tard et vous tiens informé. Merci.
Cordialement
jenesaispaspourquoi
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
Bonsoir DanielCo, bonsoir le forum,
Pour faire suite à votre réponse, pourriez-vous me confirmer que la macro est un test d'existence d'un module et d'une macro nommée ? Suite à ce test, est-il possible si non existence de la macro de ne faire fonctionner aucune macro ?
Merci pour votre réponse.
Cordialement
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des
macros, à savoir:
Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non
exécutable ?
Merci pour vos réponses.
Cordialement
Bonsoir DanielCo, bonsoir le forum,
Pour faire suite à votre réponse, pourriez-vous me confirmer que la macro est un test d'existence d'un module et d'une macro nommée ?
Suite à ce test, est-il possible si non existence de la macro de ne faire fonctionner aucune macro ?
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
Bonsoir DanielCo, bonsoir le forum,
Pour faire suite à votre réponse, pourriez-vous me confirmer que la macro est un test d'existence d'un module et d'une macro nommée ? Suite à ce test, est-il possible si non existence de la macro de ne faire fonctionner aucune macro ?
Merci pour votre réponse.
Cordialement
MichD
Bonjour,
Ta demande est étrange...
Au lieu de tester ou non la présence d'une macro dans un projetVBA, pourquoi ne pas définir les conditions d'appel de la macro? Si la ou les conditions ne sont pas remplies, la macro ne s'exécute pas. C'est tout!
Bonjour,
Ta demande est étrange...
Au lieu de tester ou non la présence d'une macro dans un projetVBA,
pourquoi ne pas définir les conditions d'appel de la macro? Si la ou les
conditions ne sont pas remplies, la macro ne s'exécute pas. C'est tout!
Au lieu de tester ou non la présence d'une macro dans un projetVBA, pourquoi ne pas définir les conditions d'appel de la macro? Si la ou les conditions ne sont pas remplies, la macro ne s'exécute pas. C'est tout!
jenesaispaspourquoi
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
Bonsoir MichD,
Votre remarque m'a fait toucher du doigt une autre problématique par rapport à mon étrange demande. Je pense qu'il n'est plus nécessaire d'approfondir le sujet. Merci DanielCo pour votre recherche et merci MichD pour vos remarques. En revanche, j'ai une toute autre question: Est-il possible qu'une macro dans un fichier fermé se lance automatiquement lorsqu'à partir d'un fichier ouvert nous ouvrons le fichier fermé OU qu'une macro dans un fichier fermé s'active lorsque un fichier précis est ouvert ? Je ne sais pas si s'est très clair ...
Merci pour vos réponses.
Cordialement
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des
macros, à savoir:
Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non
exécutable ?
Merci pour vos réponses.
Cordialement
Bonsoir MichD,
Votre remarque m'a fait toucher du doigt une autre problématique par rapport à mon étrange demande.
Je pense qu'il n'est plus nécessaire d'approfondir le sujet.
Merci DanielCo pour votre recherche et merci MichD pour vos remarques.
En revanche, j'ai une toute autre question:
Est-il possible qu'une macro dans un fichier fermé se lance automatiquement lorsqu'à partir d'un fichier ouvert nous ouvrons le fichier fermé OU qu'une macro dans un fichier fermé s'active lorsque un fichier précis est ouvert ?
Je ne sais pas si s'est très clair ...
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
Bonsoir MichD,
Votre remarque m'a fait toucher du doigt une autre problématique par rapport à mon étrange demande. Je pense qu'il n'est plus nécessaire d'approfondir le sujet. Merci DanielCo pour votre recherche et merci MichD pour vos remarques. En revanche, j'ai une toute autre question: Est-il possible qu'une macro dans un fichier fermé se lance automatiquement lorsqu'à partir d'un fichier ouvert nous ouvrons le fichier fermé OU qu'une macro dans un fichier fermé s'active lorsque un fichier précis est ouvert ? Je ne sais pas si s'est très clair ...
Merci pour vos réponses.
Cordialement
MichD
Bonjour,
Pour exécuter une macro d'un classeur fermé.
'------------------------------------------------------------ Sub test() Dim Wk As Workbook, MaMacro As String Dim Fichier As String
'Fichier fermé où est la macro a exécuté Fichier = "c:UsersProfilDocumentsMonTest.xlsm"
Application.ScreenUpdating = False 'ouverture du fichier Set Wk = Workbooks.Open(Fichier)
With Wk 'Masque le classeur Wk.Windows(1).Visible = False 'Définis le nom du classeur + la macro a exécuté 'Si la macro est dans un module standard, on peut 'omettre son nom devant le nom de la macro 'Module1 = Nom du module 'Test = Nom de la macro à exécuté MaMacro = .Name & "!Module1.test" 'Exécution de la macro 'Si la macro contient des paramètres Application.Run MaMacro ' Param1,Param2 'Ferme le classeur avec sauvegarde .Close True End With Application.ScreenUpdating = True End Sub '------------------------------------------------------------
Bonjour,
Pour exécuter une macro d'un classeur fermé.
'------------------------------------------------------------
Sub test()
Dim Wk As Workbook, MaMacro As String
Dim Fichier As String
'Fichier fermé où est la macro a exécuté
Fichier = "c:UsersProfilDocumentsMonTest.xlsm"
Application.ScreenUpdating = False
'ouverture du fichier
Set Wk = Workbooks.Open(Fichier)
With Wk
'Masque le classeur
Wk.Windows(1).Visible = False
'Définis le nom du classeur + la macro a exécuté
'Si la macro est dans un module standard, on peut
'omettre son nom devant le nom de la macro
'Module1 = Nom du module
'Test = Nom de la macro à exécuté
MaMacro = .Name & "!Module1.test"
'Exécution de la macro
'Si la macro contient des paramètres
Application.Run MaMacro ' Param1,Param2
'Ferme le classeur avec sauvegarde
.Close True
End With
Application.ScreenUpdating = True
End Sub
'------------------------------------------------------------
'------------------------------------------------------------ Sub test() Dim Wk As Workbook, MaMacro As String Dim Fichier As String
'Fichier fermé où est la macro a exécuté Fichier = "c:UsersProfilDocumentsMonTest.xlsm"
Application.ScreenUpdating = False 'ouverture du fichier Set Wk = Workbooks.Open(Fichier)
With Wk 'Masque le classeur Wk.Windows(1).Visible = False 'Définis le nom du classeur + la macro a exécuté 'Si la macro est dans un module standard, on peut 'omettre son nom devant le nom de la macro 'Module1 = Nom du module 'Test = Nom de la macro à exécuté MaMacro = .Name & "!Module1.test" 'Exécution de la macro 'Si la macro contient des paramètres Application.Run MaMacro ' Param1,Param2 'Ferme le classeur avec sauvegarde .Close True End With Application.ScreenUpdating = True End Sub '------------------------------------------------------------
jenesaispaspourquoi
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
Bonjour MichD, bonjour le forum,
Merci beaucoup pour ce code, je teste dès que possible !!!
Bonne journée.
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des
macros, à savoir:
Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non
exécutable ?
Merci pour vos réponses.
Cordialement
Bonjour MichD, bonjour le forum,
Merci beaucoup pour ce code, je teste dès que possible !!!
Le mercredi 05 Novembre 2014 à 17:19 par jenesaispaspourquoi :
Bonjour,
Je suis en recherche d'une astuce concernant l’exécution des macros, à savoir: Existe-t-il une macro qui n'exécuterait pas macro1 si macro2 non exécutable ?
Merci pour vos réponses.
Cordialement
Bonjour MichD, bonjour le forum,
Merci beaucoup pour ce code, je teste dès que possible !!!
Bonne journée.
GL
Le 05/11/2014 18:19, DanielCo a écrit :
Dim MyModule As Object ActiveWorkbook.VBProject.vbComponents(MyModuleName).CodeModule
Oui l'objet CodeModule est bien pratique ! Par contre on a besoin de "Accès approuvé au modèle d'objet du projet VBA" dans Options-> "Centre de Gestion de la confidentialité" -> "Paramètres du Centre de Gestion de la confidentialité" -> "Paramètre des Macros"
Il faut le trouver !
On peut aussi définir: Dim MyModule As CodeModule pour bénéficier d'Intellisense.
Ceci étant, si la macro est en commentaires, la seule possibilité, je crois, c'est de lire le code en mode texte et rechercher les caractères...
Bonne soirée.
Le 05/11/2014 18:19, DanielCo a écrit :
Dim MyModule As Object
ActiveWorkbook.VBProject.vbComponents(MyModuleName).CodeModule
Oui l'objet CodeModule est bien pratique ! Par contre on a besoin de
"Accès approuvé au modèle d'objet du projet VBA" dans Options->
"Centre de Gestion de la confidentialité" -> "Paramètres du Centre de
Gestion de la confidentialité" -> "Paramètre des Macros"
Il faut le trouver !
On peut aussi définir:
Dim MyModule As CodeModule
pour bénéficier d'Intellisense.
Ceci étant, si la macro est en commentaires, la seule possibilité, je
crois, c'est de lire le code en mode texte et rechercher les caractères...
Dim MyModule As Object ActiveWorkbook.VBProject.vbComponents(MyModuleName).CodeModule
Oui l'objet CodeModule est bien pratique ! Par contre on a besoin de "Accès approuvé au modèle d'objet du projet VBA" dans Options-> "Centre de Gestion de la confidentialité" -> "Paramètres du Centre de Gestion de la confidentialité" -> "Paramètre des Macros"
Il faut le trouver !
On peut aussi définir: Dim MyModule As CodeModule pour bénéficier d'Intellisense.
Ceci étant, si la macro est en commentaires, la seule possibilité, je crois, c'est de lire le code en mode texte et rechercher les caractères...