Bonjour à tous !
Je suis débutant dans l'utilisation d'Access, mais j'ai quand même de bonnes notions de programmation (Bon, pas en VBA, mais bref...).
J'ai besoin de créer une macro qui permet de réaliser différents traitements, et à la fin de ces traitements j'aurais besoin de renommer un champ d'une table.
Du coup j'ai regardé dans la FAQ et j'y ai trouvé le code suivant :
Que j'ai remplacé par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Public Sub RenommerChamp(PTable As String, POld As String, PNew As String) On Error GoTo err: Dim VTable As DAO.TableDef Dim VField As DAO.Field Set VTable = CurrentDb.TableDefs(PTable) Set VField = VTable.Fields(POld) VField.Name = PNew Set VField = Nothing Set VTable = Nothing Exit Sub err: MsgBox "L\'action renommer le champ a échouée" End Sub
(J'ai remplacé Sub par Function)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Public Function RenommerChamp(PTable As String, POld As String, PNew As String) On Error GoTo err: Dim VTable As DAO.TableDef Dim VField As DAO.Field Set VTable = CurrentDb.TableDefs(PTable) Set VField = VTable.Fields(POld) VField.Name = PNew Set VField = Nothing Set VTable = Nothing Exit Function err: MsgBox "L\'action renommer le champ a échouée" End Function
Donc, et c'est sûrement là que je me trompe, j'ai créé un nouveau module dans lequel j'ai simplement collé ce code.
Dans ma macro, j'ai sélectionné pour action ExecuterCode et j'ai tapé le nom de ma fonction avec ses paramètres (j'ai même utilisé leur générateur pour être sûr d'avoir le bon nom de fonction). Et quand j'exécute la macro, j'ai cette erreur :
Du coup je me demande si j'ai pas mal compris....ExcecuterCode c'est bien pour exécuter du VBA ? Et si c'est le cas, pourquoi est-ce qu'il n'arrive pas à trouver ma fonction ?Envoyé par Vilain Access
Je vous remercie d'avance pour votre aide et vos éclaircissements.
Partager