Bonsoir à tous,
J'ai beau me creuser la tête je ne trouve pas la raison qui fait qu'une partie de ma macro ne s'exécute que lorsque je la lance depuis l'éditeur de macro.

Voici la partie de mon code où intervient mon problème, ligne 6 où j’appelle une Sub nommée "Delete_lines"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
With Sheets("Data")
                      NbLine1 = .Cells(.Rows.Count, 2).End(xlUp).Row  ' define the number of line
          End With
 
                If NbLine1 > 5 Then
                Delete_lines
                End If
Et voici le code de la Sub
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
35
Sub Delete_lines()
Dim Main As Worksheet
Dim Data As Worksheet
Dim WBS As Worksheet
Dim MSLine As Range
Dim WBSLine As Range
Dim Phs As String
Dim i As Integer
Dim NbLine1 As Integer
Set Main = ThisWorkbook.Sheets("Main")
Set Data = ThisWorkbook.Sheets("Data")
Set MSLine = Data.Range("A1")
MSLine = MSLine.Offset(0)
Set WBSLine = Main.Range("B6")
WBSLine = WBSLine.Offset(0)
 
With Sheets("Data")
    NbLine1 = .Cells(.Rows.Count, 2).End(xlUp).Row  ' define the number of line
End With
 
For i = 0 To NbLine1
 If MSLine.Offset(i, 1) = "" Then
    Rows(i + 1 & ":" & i + 1).Delete Shift:=xlUp ' Delete all empty lines
 End If
Next i
 
i = 0
Do While MSLine.Offset(i, 1) <> ""
    If i > 1 And MSLine.Offset(i, 1) = WBSLine.Offset(0, 0) Then
    Rows(i + 1 & ":" & i + 1).Delete Shift:=xlUp ' Delete all lines with Phase Name to keep only one activity with the Phase name
    End If
    i = i + 1
Loop
 
End Sub
Ce qui doit se passer avant l'appel de la Sub Delete_lines s'effectue normalement ainsi que ce qui doit être traité après, mais lorsque je vérifie le résultat après avoir lancé ma macro depuis un bouton je vois que la partie qu'aurait du réaliser la sub n'a pas été réalisée.
En lançant la macro avec la touche F5 depuis l'éditeur de macro, je n'ai pas ce problème.

Quelqu'un a-t-il une idée de ce qui m'échappe?

Merci pour votre aide

Eric