Bonjour
je voudrais, en fermant un fichier mettre à jour un second fichier.
le code est écrit dans le fichier que l'on ferme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If Sheets("SAISIES").[J2].Value <> "Mq" Then Call NirFait 
 ...
End sub
dans un module, de ce même classeur, on trouve le code svt :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub NirFait()
Dim Rg As Range, Lg As Integer, Ch As String, DerLg As Long
Dim SupSeul As Integer, SupRah As Integer, SupRacl As Integer, SupDp As Integer, SupLiq As Integer
Application.ScreenUpdating = False
With ThisWorkbook
    Ch = .Sheets("Sh2").[J2].Value   
    SupSeul = .Sheets("Sh1").Range("F22")
    SupRah = .Sheets("Sh1").Range("F24")
    SupRacl = .Sheets("Sh1").Range("F23")
    SupDp = .Sheets("Sh1").Range("F25")
    SupLiq = .Sheets("Sh1").Range("F26")
End With

Windows("Wb Accueil.xlsm").Activate
Lg = Sheets("Données").Range("TbStr[Nom Fichier]").Find(Ch, lookat:=xlWhole).Row
With Sheets("Suivi Prod")
    '5 = différence de ligne entre la feuille donnée et la feuille Suivi prod
    .Range("H" & Lg + 5) = SupSeul
    .Range("G" & Lg + 5) = SupRah
    .Range("I" & Lg + 5) = SupRacl
    .Range("L" & Lg + 5) = SupDp
    .Range("O" & Lg + 5) = SupLiq
End With
End Sub
Quand je ferme le fichier du code j'ai une erreur sur Windows("Wb Accueil.xlsm").Activate avec l'erreur "l'indice n'appartient pas à la sélection" or je suis sûr du nom du fichier. si manuellement j'active le 2ème fichier, la fin du code se déroule parfaitement.
J'ai essayé d'activer le classeur dans le code de thisWorkbook et j'ai eu le message d'erreur "Erreur définie par l'application ou par l'objet"
Pouvez-vous m'aider, svp ?
Merci