VBA Exécuter une macro exportée en .bas
Bonjour,
J'ai cherché de partout mais je n'ai pas réussit à faire ce que je souhaite ou avoir une explication détaillé.
Je souhaiterai exécuter une macro enregistrer en .bas car je l'utilise sur plusieurs fichier Excel
- la première solution est d'importer la macro sur chaque fichier Excel (mais à chaque modification je dois recommencer tout le process)
- la deuxième solution est d'exécuter la macro en l’appelant d'un autre fichier Excel (mais celui ci s'ouvre et me pose quelques problèmes)
J'ai vu que l'on pouvez le faire en VBScript mais je ne sais pas comment faire, si vous avez d'autres solutions pour Lancer ceci en .bas (ou autre extension d'exportation) pour plusieurs fichier Excel en VBA :
Merci pour vos retour.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| Sub Log_Ouverture()
maintenant = Now()
NUMBER_OF_PROCESSORS = Environ("NUMBER_OF_PROCESSORS")
OS = Environ("OS")
PROCESSOR_ARCHITECTURE = Environ("PROCESSOR_ARCHITECTURE")
PROCESSOR_LEVEL = Environ("PROCESSOR_LEVEL")
PROCESSOR_REVISION = Environ("PROCESSOR_REVISION")
PROGRAMFILES = Environ("PROGRAMFILES")
WINDIR = Environ("WINDIR")
LOGONSERVER = Environ("LOGONSERVER")
UserName = Environ("UserName")
COMPUTERNAME = Environ("COMPUTERNAME")
USERDOMAIN = Environ("USERDOMAIN")
Nom_du_fichier = ActiveWorkbook.Name
Ouverture = "Date Ouverture : "
Fermeture = "Date Fermeture : "
Espace = " "
NomLog = "Log.txt"
Chemin = "C:\"
Open Chemin & NomLog For Append As #1
Print #1, _
Ouverture & maintenant & Espace _
& "Nombre de Procésseur(s) : " & NUMBER_OF_PROCESSORS & Espace _
& "Os : " & OS & Espace _
& "Procésseur Architecture : " & PROCESSOR_ARCHITECTURE & Espace _
& "Procésseur Level : " & PROCESSOR_LEVEL & Espace _
& "Procésseur Révision : " & PROCESSOR_REVISION & Espace _
& "Program Files : " & PROGRAMFILES & Espace _
& "Windir : " & WINDIR & Espace _
& "Localisation : " & LOGONSERVER & Espace _
& "Nom du domaine : " & USERDOMAIN & Espace _
& "Nom : " & UserName & Espace & Espace & Espace & Espace & Espace & Espace & Espace & Espace _
& "Nom de l'ordinateur : " & Espace & Espace & Espace & Espace & Espace & Espace & Espace & Espace; COMPUTERNAME & Espace & Espace & Espace & Espace & Espace & Espace & Espace & Espace _
& "Nom du fichier : " & Espace & Espace & Espace & Espace & Espace & Espace & Espace & Espace; Nom_du_fichier
Close #1
End Sub |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| Sub Log_Fermeture()
maintenant = Now()
NUMBER_OF_PROCESSORS = Environ("NUMBER_OF_PROCESSORS")
OS = Environ("OS")
PROCESSOR_ARCHITECTURE = Environ("PROCESSOR_ARCHITECTURE")
PROCESSOR_LEVEL = Environ("PROCESSOR_LEVEL")
PROCESSOR_REVISION = Environ("PROCESSOR_REVISION")
PROGRAMFILES = Environ("PROGRAMFILES")
WINDIR = Environ("WINDIR")
LOGONSERVER = Environ("LOGONSERVER")
UserName = Environ("UserName")
COMPUTERNAME = Environ("COMPUTERNAME")
USERDOMAIN = Environ("USERDOMAIN")
Nom_du_fichier = ActiveWorkbook.Name
Ouverture = "Date Ouverture : "
Fermeture = "Date Fermeture : "
Espace = " "
NomLog = "Log.txt"
Chemin = "C:\"
Open Chemin & NomLog For Append As #1
Print #1, _
Fermeture & maintenant & Espace _
& "Nombre de Procésseur(s) : " & NUMBER_OF_PROCESSORS & Espace _
& "Os : " & OS & Espace _
& "Procésseur Architecture : " & PROCESSOR_ARCHITECTURE & Espace _
& "Procésseur Level : " & PROCESSOR_LEVEL & Espace _
& "Procésseur Révision : " & PROCESSOR_REVISION & Espace _
& "Program Files : " & PROGRAMFILES & Espace _
& "Windir : " & WINDIR & Espace _
& "Localisation : " & LOGONSERVER & Espace _
& "Nom du domaine : " & USERDOMAIN & Espace _
& "Nom : " & UserName & Espace & Espace & Espace & Espace & Espace & Espace & Espace & Espace _
& "Nom de l'ordinateur : " & Espace & Espace & Espace & Espace & Espace & Espace & Espace & Espace; COMPUTERNAME & Espace & Espace & Espace & Espace & Espace & Espace & Espace & Espace _
& "Nom du fichier : " & Espace & Espace & Espace & Espace & Espace & Espace & Espace & Espace; Nom_du_fichier
Close #1
End Sub |
Exécuter une macro exporter en .bas
Le seul problème c'est que c'est dans par défaut :
C:\Users\"Utilisateur"\AppData\Roaming\Microsoft\AddIns
Et que mes fichiers sont utilisé par plusieurs utilisateurs en réseau.
Est-ce que si un autre utilisateur ouvre mon fichier Excel trouvera le fichier xla dans :
\\Posty7\application excel\xla -- Dossier en Réseau
et non dans :
C:\Users\"Utilisateur x"\AppData\Roaming\Microsoft\AddIns ? Dossier de l'utilisateur