Runtime error 91 : Besoin d'aide.

Résolu
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   -  
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

J'ai un petit soucis avec une macro que je viens de simplifier.
A l'exécution de celle-ci j'ai ce message qui apparait :

RUNTIME ERROR 91: Object variable or With Block variable not set

Voici mon code :
Private Sub Workbook_Open()
Dim ws As Worksheets

ws(2).Visible = True 'Cette ligne se met en défaut à l'erreur
ws(1).Visible = xlVeryHidden

For i = 3 To Sheets.Count
With ws(i)
.Visible = False
End With
Next

For i = 1 To Sheets.Count
With ws(i)
.Protect Password:="123PA"
End With
Next

End Sub

Est-ce que quelqu'un sait à quoi il peut être dû ?

Merci d'avance.

1 réponse

  1. melanie1324 Messages postés 1561 Statut Membre 156
     
    Bonjour,

    essaie comme ca :

    Private Sub Workbook_Open()

    dim i as variant

    sheets(2).Visible = True 'Cette ligne se met en défaut à l'erreur

    sheets(1).Visible = xlVeryHidden

    For i = 3 To Sheets.Count

    With sheets(i)
    .Visible = False

    End With

    next

    For i = 1 To Sheets.Count

    With sheets(i)
    .Protect Password:="123PA"
    End With

    next

    end sub
    1
    1. Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
       
      Effectivement ça fonctionne, merci bien.

      C'est le dim ws as worksheets qui empêchait la bonne exécution ? Ou le fait que je n'avais pas déclaré ma variable i ?
      0
    2. melanie1324 Messages postés 1561 Statut Membre 156
       
      tu avais déclaré ta variable dim ws as wroksheet

      sauf qu'il fallait dire à quoi était égal ws?
      exemple :
      ws = sheets(1)
      du coup il ne comprenait pas.

      Tu n'as pas déclaré la variable i (en soit, la déclaration des variables est facultatif dim i, ws as... mais il vaut mieux le faire).
      0
    3. Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
       
      Salut !

      Ok je comprends mieux,

      Merci pour ton aide, et bonne journée.
      0