Macro complémentaire s'arrête à l'ouverture d'un autre fichier

Bonjour

Je reçois chaque semaine un fichier nommé gp_report.xls par courriel. Lorsque j'ouvre ce fichier et que je fait la combinaison Ctrl+Shift+G je veux que ma macro complémentaire (EM_Add_In.xlam) ouvre un autre fichier (Fournisseurs_EM.xlsx), duquel je vais copier la Feuil1 pour la coller dans mon fichier gp_report et effectuer par la suite certaines opérations. La macro complémentaire fonctionne bien jusqu'à ce qu'au moment où elle ouvre le fichier Fournisseurs_EM.xlsx. Je n'arrive pas à poursuivre la macro une fois que le fichier a été ouvert.

J'ai tenté d'activer la suite de la macro en la déplaçant dans Workbook_Open du fichier Fournisseurs_EM.xlsm mais ça ne fonctionne pas plus. Lorsque le fichier ouvre, la macro ne s'exécute pas.

Auriez-vous des idées à me proposer pour que la macro se poursuivent? À moins que les macro complémentaires ne soient pas faites pour ce type de manipulation.

Merci de votre aide.

Jacques

Option Explicit
Dim Fichier_GP_report As Workbook
Dim Fichier_Fournisseurs As Workbook
Dim iRow As Long

Sub Highlight_low_gp_2()

'cette macro complémentaire s'active avec CTRL+Shift+G

'Vérifier que c'est le fichier gp_report qui est actif avant de lancer la macro
If ActiveWorkbook.Name = "gp_report.xls" Then
Else
    MsgBox ("Le fichier actif doit être gp_report.xls.")
    Exit Sub
End If

Set Fichier_GP_report = ThisWorkbook

'vérifier que le fichier Fournisseurs_EM est dans le bon répertoire
If Dir("C:\Users\j1bou\Desktop\Fournisseurs_EM.xlsx") <> "" Then
Else
    'S'il n'est pas dans le bon répertoire
    MsgBox "Le fichier Fournisseurs_EM.xlsx contenant la liste des fournisseurs n'est pas dans C:\Users\j1bou\Desktop." & Chr(13) & Chr(10) _
    & "Vous devez corriger ce problème avant poursuivre."
    Exit Sub
End If

Set Fichier_Fournisseurs = Workbooks.Open("C:\Users\j1bou\Desktop\Fournisseurs_EM.xlsx")

'***La macro ne va pas plus loin***

1gp-report.zip (6.20 Ko)
1em-add-in.xlam (15.55 Ko)

Bonjour Cube329

Le fichier "Fournisseurs_EM.xlsx" est corrompu

Sinon, j'ai modifié ton code de la sorte, pour que le chemin soit plus pratique à définir

' Cette macro complémentaire s'active avec CTRL+Shift+G
Sub Highlight_low_gp_2()
  Dim sFic As String, sPath As String
  ' Définir le cehmin par défaut
  sPath = "C:\Users\j1bou\Desktop\"
  sFic = "Fournisseurs_EM.xlsx"
  'Vérifier que c'est le fichier gp_report qui est actif avant de lancer la macro
  If ActiveWorkbook.Name = "gp_report.xls" Then
  Else
      MsgBox ("Le fichier actif doit être gp_report.xls.")
      Exit Sub
  End If
  Set Fichier_GP_report = ThisWorkbook
  'vérifier que le fichier Fournisseurs_EM est dans le bon répertoire
  If Dir(sPath & sFic) <> "" Then
  Else
      'S'il n'est pas dans le bon répertoire
      MsgBox "Le fichier Fournisseurs_EM.xlsx contenant la liste des fournisseurs n'est pas dans" & sPath & Chr(13) & Chr(10) _
      & "Vous devez corriger ce problème avant poursuivre."
      Exit Sub
  End If
  Set Fichier_Fournisseurs = Workbooks.Open(sPath & sFic)

La macro fonctionne bien avec un fichier "Fournisseurs_EM.xlsx" propre

@+

Étrange, sur mon bureau ce fichier s'ouvre normalement. J'ai seulement inscrit des informations bidons pour que vous puissiez tester le début de la macro complémentaire.

Je le joins à nouveau au cas où il y aurait eu un problème lors du premier envoi.

Bonjour

J'ai essayé le changement proposé mais la macro s'arrête au même endroit. Dès que le fichier Fournisseurs_EM.xlsx s'ouvre, la macro ne continue pas. J'ai aussi créer un nouveau fichier Fournisseur_EM pour être certain que celui-ci- ne cause pas de problème.

Option Explicit
Dim Fichier_GP_report As Workbook
Dim Fichier_Fournisseurs As Workbook
Dim iRow As Long

' Cette macro complémentaire s'active avec CTRL+Shift+G
Sub Highlight_low_gp_2()
  Dim sFic As String, sPath As String
  ' Définir le cehmin par défaut
  sPath = "C:\Users\j1bou\Desktop\"
  sFic = "Fournisseurs_EM.xlsx"
  'Vérifier que c'est le fichier gp_report qui est actif avant de lancer la macro
  If ActiveWorkbook.Name = "gp_report.xls" Then
  Else
      MsgBox ("Le fichier actif doit être gp_report.xls.")
      Exit Sub
  End If
  Set Fichier_GP_report = ThisWorkbook
  'vérifier que le fichier Fournisseurs_EM est dans le bon répertoire
  If Dir(sPath & sFic) <> "" Then
  Else
      'S'il n'est pas dans le bon répertoire
      MsgBox "Le fichier Fournisseurs_EM.xlsx contenant la liste des fournisseurs n'est pas dans" & sPath & Chr(13) & Chr(10) _
      & "Vous devez corriger ce problème avant poursuivre."
      Exit Sub
  End If
  Set Fichier_Fournisseurs = Workbooks.Open(sPath & sFic)
  '***La macro ne va pas plus loin***

Edit modo : Merci de mettre le code entre balises SVP

MsgBox ActiveWorkbook.Name

1em-add-in.xlam (18.33 Ko)
1gp-report.zip (6.20 Ko)

Bonsoir,

Je pense que le problème vient de ton raccourci de touche pour lancer la macro

Perso, si j'ouvre ton "gp_report", aue je charge ton "xlam" et que je lance le code depuis le module, tout se passe bien

D'ailleurs pourquoi utiliser un fichier ".xls" alors que tu es en 2016 ?

@+

Merci de ton aide.

Tu as raison c'est effectivement mon raccourci clavier qui cause problème.

Le fichier que je reçois par courriel est en .xls probablement parce que l'application qui le crée date de quelques années mais je n'ai pas de pouvoir sur cette partie là.

Rechercher des sujets similaires à "macro complementaire arrete ouverture fichier"