Erreur « Numéro d’erreur d’échec de l’action : 2950 » lors de l’exécution d’une macro qui appelle une fonction VBA dans une base de données Access
Numéro de la base de connaissances d’origine : 931407
Remarque
Si vous êtes une petite entreprise, vous trouverez des ressources de dépannage et d’apprentissage supplémentaires sur le site Support pour les petites entreprises.
Symptômes
Lorsque vous exécutez une macro qui appelle une fonction Microsoft Visual Basic pour Applications (VBA) dans une base de données Microsoft Office Access 2007 ou ultérieure, le message d’erreur suivant s’affiche :
Échec de l’action
Nom de la macro : MacroName
Condition : Condition
Nom de la macro : RunCode
Arguments : Arguments
Numéro d’erreur : 2950
Cause
Ce problème se produit si la base de données n’est pas approuvée par Access. Par défaut, les versions récentes d’Access ouvrent des bases de données qui ne sont pas approuvées en mode Désactivé. En mode Désactivé, le contenu exécutable est désactivé.
Résolution
Si vous faites confiance à l’auteur de la base de données et si vous souhaitez activer la base de données, utilisez l’une des méthodes suivantes.
Méthode 1 : Activer la base de données pour la session active
Lorsque vous utilisez cette méthode, Access active la base de données jusqu’à ce que vous fermiez la base de données. Pour activer la base de données pour la session active, procédez comme suit :
- Dans la barre des messages, cliquez sur Options.
- Dans la boîte de dialogue Options de sécurité Microsoft Office , cliquez sur Activer ce contenu, puis sur OK.
Remarque
Selon votre version d’Access, vous devrez peut-être répéter ces étapes chaque fois que vous ouvrez la base de données.
Méthode 2 : Déplacer la base de données vers un emplacement approuvé
Pour cela, procédez comme suit :
Déterminez les emplacements approuvés vers lesquels vous pouvez déplacer la base de données. Pour cela, procédez comme suit :
Cliquez sur Fichier, puis sur Options.
Cliquez sur Centre de gestion de la confidentialité, puis cliquez sur Paramètres du Centre de gestion de la confidentialité sous Centre de gestion de la confidentialité Microsoft Office Access.
Cliquez sur Emplacements approuvés, puis utilisez l’une des procédures suivantes :
- Notez les chemins des emplacements approuvés répertoriés.
- Ajoutez un nouvel emplacement approuvé. Pour ce faire, cliquez sur Ajouter un nouvel emplacement, puis spécifiez le chemin d’accès de l’emplacement que vous souhaitez ajouter.
Déplacez la base de données Access vers l’emplacement approuvé que vous avez spécifié.
Informations supplémentaires
Vous pouvez utiliser une AutoExec
macro pour tester si une base de données est approuvée lorsque vous ouvrez la base de données. En outre, la macro peut ouvrir un formulaire qui affiche un message personnalisé aux utilisateurs si la base de données n’est pas approuvée. Ce message indique aux utilisateurs que la base de données doit être activée ou approuvée pour que le code s’exécute correctement.
Pour créer la AutoExec
macro et le formulaire, procédez comme suit :
Créez un formulaire en mode Création.
Ajoutez une zone de texte ou une étiquette au formulaire, puis tapez les informations que vous souhaitez afficher à l’utilisateur.
Enregistrez, puis fermez le formulaire.
Créez une macro, puis nommez la macro
AutoExec
.Afficher la colonne Conditions .
Tapez la ligne suivante dans la colonne Conditions :
CurrentProject.IsTrusted = False
Dans la colonne Actions , cliquez sur OuvrirForm.
Dans la zone Nom du formulaire sous Arguments de l’action, cliquez sur le formulaire que vous avez créé à l’étape 1.
Enregistrez, puis fermez la macro.
Lorsque la base de données s’ouvre, la AutoExec
macro démarre, puis teste la IsTrusted
condition. Si la base de données n’est pas approuvée par Access, la macro ouvre le formulaire que vous avez spécifié dans l’action OpenForm
de la macro.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour