Bonjour à tous

j'ai tenter de réaliser une macro permettant d’ouvrir ou fermer des onglets (60 environ) en fonctions du nom de l'onglet de chaque feuille.

ma macro fonctionne quand je la lance dans le module développeur / visual basic, par contre elle plante quand je l’exécute a partir d'un bouton de commande.j'ai une erreur d'execution '9': l'indice n'appartient pas à la sélection

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
 
Sub Display_V2()
 
Dim ligne As Integer: Dim colonne_condition As Integer: Dim colonne_sheet As Integer
Dim m As String
Dim wsManager As Worksheet
'Paramétrer la feuille
Set wsManager = ThisWorkbook.Sheets("00-Manager")
'Récupérer le nombre de lignes par feuille
nbreLignesData = wsManager.Cells.Find("*", , , , , xlPrevious).Row
 
colonne_sheet = 11
colonne_condition = 5
 
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
 
For ligne = 26 To nbreLignesData
    m = Cells(ligne, colonne_sheet)
       If Cells(ligne, colonne_condition).Value = "ON" Then
            Worksheets(m).Visible = xlSheetVisible
        Else:
            Worksheets(m).Visible = xlSheetHidden
        End If
Next ligne
 
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
 
End Sub
Auriez des pistes ? Merci d'avance pour vos retours