Modification valeur de 2 cellules dans 2 feuilles via VBA

Bonjour au forum,

Je souhaiterais modifier la valeur de 2 cellules (I5 et I5) dans 2 feuilles protégées différentes via un bouton VBA.

J'ai testé ce code, mais celui-ci ne fonctionne pas (il m'ajoute +2 à la cellule I5 de ma 1ère feuille) :

Private Sub CommandButton1_Click()
Dim Mdp As String
Dim Ws As Worksheet
Mdp = Application.InputBox("Veuillez introduire votre mot de passe :")
If Mdp <> "test" Then MsgBox "Accès refusé !": Exit Sub
Set Ws = Sheets("Fériés")
ActiveSheet.Unprotect Password:="test"
Range("I5").Value = Range("I5").Value + 1
ActiveSheet.Protect Contents:=True, userinterfaceonly:=True, DrawingObjects:=True, Scenarios:=True, Password:="test"
Set Ws = Sheets("Noël - Nouvel An")
ActiveSheet.Unprotect Password:="test"
Range("I5").Value = Range("I5").Value + 1
ActiveSheet.Protect Contents:=True, userinterfaceonly:=True, DrawingObjects:=True, Scenarios:=True, Password:="test"
End Sub

Je débute en VBA, et je ne vois pas quelle erreur j'ai commise...

Merci d'avance

Nico.

Bonjour

Active ta deuxième feuille :

Set Ws = Sheets("Noël - Nouvel An")
Ws.activate
ActiveSheet.Unprotect Password:="test"

ou encore mets la référence complète de tes cellules en les faisant préceder de ''Ws."

OK ?

Bye !

Bonjour,

Une proposition !?

Cdlt.

Private Sub CommandButton1_Click()
Dim Ws As Worksheet, Mdp As String

    Mdp = Application.InputBox("Veuillez introduire votre mot de passe :")

    If Mdp <> "test" Then MsgBox "Accès refusé !": Exit Sub

    Set Ws = Sheets("Fériés")
    With Ws
        .Unprotect Password:="test"
        .Range("I5").Value = .Range("I5").Value + 1
        .Protect _
                Contents:=True, _
                userinterfaceonly:=True, _
                DrawingObjects:=True, _
                Scenarios:=True, _
                Password:="test"
    End With

    Set Ws = Sheets("Noël - Nouvel An")
    With Ws
        .Unprotect Password:="test"
        .Range("I5").Value = .Range("I5").Value + 1
        .Protect _
                Contents:=True, _
                userinterfaceonly:=True, _
                DrawingObjects:=True, _
                Scenarios:=True, _
                Password:="test"
    End With

    Set Ws = Nothing

End Sub

Bonjour Jean-Eric, Gmb,

Un tout grand merci, cela fonctionne !

J'ai pu voir oú se situait mon erreur et apprendre à améliorer ma synthaxe de code

Excellente journée à vous.

Nico.

Rechercher des sujets similaires à "modification valeur feuilles via vba"