Déclaration de variable

Bonjour à tous, et meilleurs voeux!

Je vous solicite à nouveau car j'ai un pb pr déclarer une variable (je pense)...

Je souhaiterai qu'en ouvrant mon fichier, seule la 1ere feuille apparaisse.. et ensuite, par un clic, d'autres feuilles apparaissent mais pas toutes, et que la 1ere s'efface...

Cela fonctionne en partie sur mon vrai fichier, mais cela s'arrête au milieu de la macro, ou bien des fois cela s'arrête même au début de la macro avec 'erreur de compilation'... J'ai bien essayé plusieurs bidouillages, , mais je bloque...!

Si qqun a une idée... je prends volontier...

D'avance merci!

11essai-1.xlsm (27.48 Ko)

Bonjour

Meilleurs voeux à vous.
Vous utilisez "Sheets" comme variable ce que vous ne pouvez pas faire étant donné que Sheets est un objet excel
Il faut toujours utiliser des noms qui ne sont pas utilisé par excel. Pour être sûr le mieux est de mettre vos variables en minuscules.
Si vous aviez mis "sheets" avec s minuscule, vous auriez constaté qu'excel remettait le S en majuscule. Du coup, cela vous aurait permis de voir que vous ne pouviez utiliser sheets comme variable

Votre code comme ceci

Private Sub Workbook_Open()
Dim i As Byte

On Error Resume Next
For i = 2 To 8
    Application.ScreenUpdating = False
    If Sheets(i).Name = "Commandes" Then
        Sheets(i).Visible = -1
    Else: Sheets(i).Visible = 2
    End If
Next i
End Sub

NB : Pensez plutot à masquer vos feuilles à la fermeture du fichier. Cela vous évitera d'avoir à placer un code à l'ouverture du fichier et surtout de prévoir le cas où les macros ne seraient pas activées par défaut

Si ok et terminé pensez à

Cordialement

Rechercher des sujets similaires à "declaration variable"