Erreur 400 après lancement Macro VBA Excel

erwanhavre

XLDnaute Occasionnel
Bonjour à tous je créer une nouvelle discussion car j'ai un soucis avec un fichier créer avec l'aide de thebenoit59
mais sur mon pc et sur d'autres aussi d’ailleurs j'ai un soucis, comme indiqué dans le titre j'ai une fenêtre avec une croix rouge et 400 qui s'ouvre entre ces deux ligne de code

Workbooks.Open ThisWorkbook.Path & "\" & NomFichier & ".xlsm"
With ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.Sheets("FE").CodeName).CodeModule


est ce que quelqu'un peu m'aider à débugger svp

merciii
 

Pièces jointes

  • FE.xlsm
    36 KB · Affichages: 75
  • FE.xlsm
    36 KB · Affichages: 62

erwanhavre

XLDnaute Occasionnel
Re : Erreur 400 après lancement Macro VBA Excel

voici l'aide


Erreur définie par l’application ou définie par l’objet

Office 2013 and later
Ce message s’affiche lorsqu’une erreur générée par la méthode Raise ou l’instruction Error ne correspond pas à une erreur définie par Visual Basic pour Applications. Il est également renvoyé par la fonction Error pour les arguments qui ne correspondent pas aux erreurs définies par Visual Basic pour Applications. Ainsi, il peut s’agir d’une erreur que vous avez définie ou qui a été définie par un objet, notamment des applications hôtes comme Microsoft Excel, Visual Basic, etc. Par exemple, les formulaires Visual Basic génèrent des erreurs liées aux formulaires qui ne peuvent pas être générées par le code en spécifiant simplement un nombre en tant qu’argument à la méthode Raise ou à l’instruction Error. Causes et solutions de ce message :
Votre application a exécuté une instruction Err.Raise n ou Error n, mais le nombre n n’est pas défini par Visual Basic pour Applications. Si ce comportement correspond à ce qui était prévu, vous devez utiliser Err.Raise et indiquer des arguments supplémentaires pour que l’utilisateur final puisse comprendre la nature de l’erreur. Par exemple, vous pouvez inclure une chaîne de description, une source et des informations d’aide. Pour régénérer une erreur que vous avez récupérée, cette méthode fonctionne si vous n’exécutez pas Err.Clear avant de régénérer l’erreur. Si vous exécutez Err.Clear en premier, vous devez indiquer les arguments supplémentaires dans la méthode Raise. Observez le contexte dans lequel l’erreur s’est produite et veillez à régénérer la même erreur.
Il est possible que lors de l’accès aux objets d’autres applications, une erreur, qui s’est reproduite dans votre programme, ne corresponde à aucune erreur Visual Basic.
For index = 1 to 500
Debug.Print Error$(index)
Next index

Consultez la documentation de tous les objets auxquels vous avez accédés. La propriété Sourcede l’objet Err ne doit pas contenir d’identificateur programmatique de l’application ou de l’objet qui a généré l’erreur. Pour comprendre le contexte d’une erreur renvoyée par un objet, utilisez l’expression On Error Resume Next dans le code qui accède aux objets, plutôt que la syntaxe On Error GoTo line.
Remarque Remarque
Dans le passé, les programmeurs faisaient souvent appel à une boucle pour imprimer la liste de toutes les chaînes de messages d’erreur récupérables. Le code utilisé était le suivant :
For index = 1 to 500
Debug.Print Error$(index)
Next index

Remarque Remarque
Ce code permet toujours de répertorier tous les messages d’erreurs Visual Basic pour Applications, mais il affiche « erreur définie par l’application ou définie par l’objet » pour les erreurs définies par l’hôte comme, par exemple, les erreurs Visual Basic liées aux formulaires, aux contrôles, etc. Nombre d’entre elles sont des erreurs d’exécution récupérables. Vous pouvez utiliser la boîte de dialogue Recherche de l’Aide pour rechercher la liste des erreurs récupérables spécifiques à votre application hôte. Cliquez sur Rechercher, sur type Récupérable dans la première zone de texte, puis cliquez sur Afficher les rubriques. Sélectionnez Erreurs récupérables dans la zone de liste inférieure et cliquez sur Atteindre.
Pour obtenir des informations supplémentaires, sélectionnez l’élément concerné et appuyez sur la touche F1 (dans Windows) ou AIDE (sur Macintosh).
 

Roland_M

XLDnaute Barbatruc
Re : Erreur 400 après lancement Macro VBA Excel

re

rien à voir ! laisses tomber !

tu n'as qu'une feuille dans ces classeurs !?
essais ceci pour voir avec Sheets(1)
With ActiveWorkbook.VBProject.VBComponents(Sheets(1).CodeName).CodeModule
 

Roland_M

XLDnaute Barbatruc
Re : Erreur 400 après lancement Macro VBA Excel

re

mais il faut faire attention il n'y a pas d'espace en Co deName c'est collé ! (CodeName)
c'est l'éditeur du forum qui fait ça !
With ActiveWorkbook.VBProject.VBComponents(Sheets(1).Co deName).CodeModule
 

Roland_M

XLDnaute Barbatruc
Re : Erreur 400 après lancement Macro VBA Excel

re

je viens de trouver que ton problème est déjà connu
ActiveWorkbook.VBProject.VBComponents ne fonctionne plus sous 2013 !
je vais voir s'il y a une solution si oui je reviendrai !
à demain peut être s'il est trop tard !?
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Erreur 400 après lancement Macro VBA Excel

re

voir du côté Options Excel !?
centre gestion confidentialité et dan la cadre en face Paramètres du centre gestion de la confidentialité
et là tu choisiras paramètres des macros
tu coches activer toutes les macros
et en dessous tu coches accès approuvé ...

ça pourrait venir de ça !? tu règles comme sur l'image
et tu fais l'essai normalement avec ton classeur comme il était au début simplement !
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Erreur 400 après lancement Macro VBA Excel

re

très content pour toi !?
on a pas perdu notre temps !

par expérience, quand tu as un problème qui parait bien tordu,
il te faut aller voir du côté des références si tu as des MANQUANT
et ce que je viens de te montrer les sécurités macros !
 

Discussions similaires