IPB

Bienvenue invité ( Connexion | Inscription )

> Visual Basic
Options
max9851
posté 31 Oct 2015, 11:43
Message #1


Nouveau Membre


Groupe : Membres
Messages : 18
Inscrit : 15 Mar 2014
Membre no 189 751



Bonjour à tous,
Je suis à la fac et j'ai un cours d'informatique cette année, dans lequel on va devoir faire un projet avec VBA.
J'ai Office 2016 et je n'arrive pas à utiliser VBA comme sur Windows. Dans Excel, je vais dans développeur, puis Visual Basic, mais je ne peux rien écrire.
En plus de ça, les codes VBA sont tous écrits en colonne (une lettre par ligne) et impossible à modifier quand je prends des projets déjà faits.
Quelqu'un pourrait-il m'éclairer ?

Merci smile.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
Tom25
posté 3 Jul 2016, 10:42
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 306
Inscrit : 27 Jul 2008
Lieu : Besançon
Membre no 118 630



J'ai placé un classeur .xlam contenant mes fonctions dans le dossier où Excel place par défaut les macros personnelles. Dans ce classeur j'ai une procédure (code ci-dessous) qui m'ouvre mon classeur de Macro Procédures (celles qu'on appelle via un bouton ou un raccourci clavier).

Code
Option Explicit ' Force à déclarer les variables

' Les dossiers Excel Démarre et le dossier des macros Personnelles n'acceptent pas les Alias et mes boutons de Macros
'  mémorisent le Path de la Macro. Et ces dossiers ne sont pas les mêmes pour Excel 2011 et Excel 2016
'  Donc je lance un fichier Macro se trouvant à un endroit commun
Sub Auto_Open()
Dim FileToLaunch As String
FileToLaunch = ""
On Error GoTo ErrorHandler1
' FileToLaunch = MacScript("return (path to startup disk) as string") ' Avec le séparateur de fin, ":" ou "/"
' FileToLaunch = MacScript("return (characters 1 thru -2 of ((path to startup disk) as string)) as string") ' Juste le nom du disque
' MsgBox "Disque de démarrage : '" & FileToLaunch & "'"
If Val(Application.Version) < 15 Then
    ' FileToLaunch = "Applications:DiversLogs:OfficeMacrosPersos:"
    FileToLaunch = "DossSystAide:OfficeMacrosPersos:" ' FileToLaunch & ":" & ' Pour disque démarrage devant
Else ' Inutile de mettre le disque de démarrage devant, ci-dessus ou ci-dessus on est sur le disque de démarrage
    ' FileToLaunch = "/Applications/DiversLogs/OfficeMacrosPersos/"
    FileToLaunch = "/DossSystAide/OfficeMacrosPersos/" ' FileToLaunch & "/" & ' Pour disque démarrage devant
End If
FileToLaunch = FileToLaunch & "MacroProcVisualBasic.xlsm"
' FileToLaunch = FileToLaunch & "TestLancOnLaunch.xlsm"
' MsgBox "On va ouvrir : '" + FileToLaunch + "'"
Workbooks.Open (FileToLaunch)
If False Then
ErrorHandler1:
    Beep
    MsgBox "Impossible d'ouvrir : '" + FileToLaunch + "'"
End If
End Sub


J'ai donc placé mon classeur de macros procédures "MacroProcVisualBasic.xlsm" dans un dossier "OfficeMacrosPersos " lui même dans un dossier "DossSystAide" à la racine de mon disque de démarrage. Peut importe où on la place, il faut qu'elle soit dans le même dossier sur les deux Macs (et évidement il faut modifier les deux paths du code donné ci-dessus en conséquence). Le path Office 2016 est en ShellPath (séparateur /) et le Path Office 2011 est en AbsolutePath (séparateur : ).

Comme ça, tous mes classeurs où j'ai des boutons qui appellent mes macros communes qui sont dans "MacroProcVisualBasic.xlsm" fonctionnent quelque soit l'endroit d'où je les lance (mon nouveau Mac avec Office 2016 ou l'ancien Mac avec Office 2011).


--------------------
Go to the top of the page
 
+Quote Post

Les messages de ce sujet
- max9851   Visual Basic   31 Oct 2015, 11:43
- - Aliboron   Excel 2016 n'est certainement pas la bonne app...   31 Oct 2015, 13:34
- - max9851   Merci pour la réponse ! Par contre je compren...   31 Oct 2015, 13:50
|- - Aliboron   Citation (max9851 @ 31 Oct 2015, 13:50) P...   31 Oct 2015, 16:04
- - max9851   Merci pour la réponse, par contre c'est norma...   24 Nov 2015, 22:20
|- - Aliboron   Citation (max9851 @ 24 Nov 2015, 22:20) j...   25 Nov 2015, 01:04
- - max9851   Impossible d'y accéder du coup ? je trouve �...   25 Nov 2015, 20:33
- - Tom25   J'ai récupéré un fichier macro .xlam (avant...   18 Jun 2016, 18:05
|- - Aliboron   Citation (Tom25 @ 18 Jun 2016, 19:05) ....   19 Jun 2016, 00:10
- - No6   On peut aussi faire des macros VBA dans Libre Offi...   18 Jun 2016, 18:59
- - Tom25   Je parle de modifier mon fichier .xlam Aliboron. T...   19 Jun 2016, 09:49
|- - Aliboron   Citation (Tom25 @ 19 Jun 2016, 10:49) Je ...   19 Jun 2016, 13:17
|- - Aliboron   Citation (Aliboron @ 19 Jun 2016, 14:17) ...   19 Jun 2016, 13:35
|- - Tom25   Merci de tes infos précieuses. Citation (Aliboro...   19 Jun 2016, 18:11
|- - Aliboron   Citation (Tom25 @ 19 Jun 2016, 19:11) Don...   19 Jun 2016, 23:15
- - Tom25   Super merci, je me demandais pourquoi ils avaient ...   20 Jun 2016, 08:01
|- - Aliboron   Citation (Tom25 @ 20 Jun 2016, 09:01) je ...   20 Jun 2016, 08:46
- - Tom25   J'ai placé mon fichier Macro.xlam dans le dos...   28 Jun 2016, 20:03
|- - Aliboron   Citation (Tom25 @ 28 Jun 2016, 21:03) Com...   28 Jun 2016, 21:28
- - Tom25   Merci, j'ai regardé un peu. Par contre je ne ...   29 Jun 2016, 20:33
|- - Aliboron   Citation (Tom25 @ 29 Jun 2016, 21:33) je ...   29 Jun 2016, 23:26
- - Tom25   J'ai placé un classeur .xlam contenant mes fo...   3 Jul 2016, 10:42


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 31st May 2024 - 07:16