Re : ERREUR DE cOMPILATION ?????
Encore merci, pourriez vous me redonner les codes en entier avec type (module, INTRO, thisworkbook.....?)...merci de votre compréhension
Pour récapitulation générale avec mon module qui bug
précision : j'ai mis un mot de passe dans Propriétés de VBAproject avec verrouillage de l'affichage (est-ce que ça peut faire foirer la macro ????)
Feuille  'INTRO'
Private Sub CommandButton1_Click()
    m
End Sub
Private Sub Worksheet_Activate()
    For Each sh In Array("Feuil4", "Feuil1", "Feuil15", _
                    "Feuil22", "Feuil24", "Feuil25", "Feuil29", _
                    "Feuil30", "Feuil31", "Feuil32", "Feuil33", _
                    "Feuil34", "Feuil35", "Feuil36", "Feuil39", "Feuil6")
Sheets(sh).Visible = False
 Next sh
End Sub
ThisWorkBook
'- Il faut protéger ton projet pour empêcher l'utilisateur de visualiser les
'macros et donc le mot de passe
'- Si les macros ne sont pas activées à l'ouverture du classeur, la
'protection est inefficace. Il te faut rajouter les macros suivantes dans
'"ThisWorkBook" :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    For Each sh In Array("Feuil4", "Feuil1", "Feuil15", _
                    "Feuil22", "Feuil24", "Feuil25", "Feuil29", _
                    "Feuil30", "Feuil31", "Feuil32", "Feuil33", _
                    "Feuil34", "Feuil35", "Feuil36", "Feuil39", "Feuil6")
Sheets(sh).Visible = xlVeryHidden
 Next sh
End Sub
Private Sub Workbook_Open()
    For Each sh In Array("Feuil4", "Feuil1", "Feuil15", _
                    "Feuil22", "Feuil24", "Feuil25", "Feuil29", _
                    "Feuil30", "Feuil31", "Feuil32", "Feuil33", _
                    "Feuil34", "Feuil35", "Feuil36", "Feuil39", "Feuil6")
Sheets(sh).Visible = xlVeryHidden
    
End Sub
'Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'    Dim spwd As String
'    If Sh.Name = "Feuil4" Then
'        spwd = InputBox("Entrer le mot de passe")
'        If spwd <> "password" Then
'            MsgBox ("Mot de passe invalide")
'            Sheets("INTRO").Activate
'        End If
'    End If
'End Sub
Module 14 
Sub m()
  Dim I As Integer, MesSht As String, TSht() As String
  Dim spwd As String, sh
  'Array("Feuil4", "Feuil1", "Feuil15", _
"Feuil22", "Feuil24", "Feuil25", "Feuil29", _
"Feuil30", "Feuil31", "Feuil32", "Feuil33", _
"Feuil34", "Feuil35", "Feuil36", "Feuil39", "Feuil6")
  ' Correspond à
  ' Tableau des feuilles à AFFICHER/CACHER séparée par des virgule
  MesSht = "4,1,15,22,24,25,29,30,31,32,33,34,35,36,39,6"
  TSht = Split(MesSht, ",")
  '
  Application.ScreenUpdating = False
  spwd = InputBox("Entrer le mot de passe")
  If spwd <> "Yldie" Then
    MsgBox ("Mot de passe invalide")
    ' Cacher les feuilles
    For I = 0 To UBound(TSht)
      Sheets(TSht(I)).Visible = xlVeryHidden
    Next I
    Sheets("INTRO").Activate
  Else
    For I = 0 To UBound(TSht)
      Sheets(TSht(I)).Visible = True     😡😡
    Next I
  End If
End Sub