Bonjour,

J'ai eu une désagréable surprise. J'explique la situation :
1) J'ai géré l'événement d'activation d'une des feuilles de mon classeur actif (la n°5) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
Private Sub Worksheet_Activate()
    Dim Current_File As String
    Current_File = ActiveWorkbook.Name
 
    Dim file As String
    file = ThisWorkbook.GetStatusFile()
    If ThisWorkbook.IsFileOpen(file) Then
    Else
        Workbooks.Open (file)
        Workbooks(Current_File).Activate
    End If
End Sub
Où IsFileOpen() retourne vrai si le fichier passé en paramètre est déjà ouvert.
Indépendamment ça marche très bien : ouverture du fichier s'il n'est pas déjà ouvert puis retour sur le classeur initial.

2) J'ai créé une macro qui insère une ligne dans plusieurs feuilles de mon classeur actif :
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
25
26
27
28
29
30
31
32
33
34
 
Sub InsererLigne()
 
    Dim NumRow As Long, LastNumRow As Long
    Dim InitSheet As String
 
    NumRow = ActiveCell.Row         ' line number
    InitSheet = ActiveSheet.Name    ' Name of sheet were we are on beginning
 
 
 
    '***** Feuille 1
    Sheets("Feuil1").Activate
    'On insère la ligne sélectionnée
    Rows(NumRow).Select
    Selection.Insert Shift:=xlDown
 
 
[...]        
 
 
    '***** Feuille 5
    Sheets("Feuil5").Activate
    'On insère la ligne sélectionnée
    Rows(NumRow).Select
    Selection.Copy
    Selection.Insert Shift:=xlDown
 
 
 
    '***** On revient sur la feuille initiale
    Sheets(InitSheet).Activate
 
End Sub
Le problème intervient quand on arrive sur la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Sheets("Feuil5").Activate
et que le fichier n'est pas déjà ouvert :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ThisWorkbook.IsFileOpen(file) = false
On rentre alors dans le code de la méthode Worksheet_Activate placée plus haut et en fait, celle-ci s'arrête au niveau du Quelqu'un peut-il me dire pourquoi et comment contourner ce problème, s'il vous plaît? Je ne comprends pas ce qui bloque...

Merci d'avance.