Problème - Protection d'une feuille avec bouton VBA

Bonjour,

J'ai crée un fichier, dans lequel un bouton (associé à une macro) figure dans le premier onglet.

Je dois protéger cette feuille, et seule une cellule (liste de mois et trimestres) doit restée déverouillée pour que l'utilisateur puisse sélectionner ce qu'il souhaite.

De plus le bouton doit également être déverouillé.

Mon problème est que, j'ai bien déverouiller cette cellule et le bouton.

Quand je clique dessus, il m'envoie à la feuille désirée (ce qui est parfait)

Mais quand je reviens dans l'onglet de recherche (premier onglet), s'affiche alors la boite d'erreur :

'Erreur d'exécution '1004' :

La cellule ou le graphique est protégé en lecture seule

(....)

Est ce que je dois ajouter quelque chose au code VBA pour qu'il n'y ait plus ce bug?

Merci par avance.


je joins un fichier type pour exemple

Salut Hurricane57

Tu as ton code à modifier dans ta feuille "Recherche onglet", il s'exécute à chaque fois que tu reviens dessus

Private Sub Worksheet_Activate()
  Dim Ws As Worksheet
  If Range("L2") <> "" Then
    Range("L2:L" & Range("L" & Rows.Count).End(xlUp).Row).ClearContents
  End If
  For Each Ws In Sheets
    If Ws.Name <> ActiveSheet.Name Then
      Ws.Unprotect ' Password:=""
      Range("L" & Rows.Count).End(xlUp).Offset(1, 0) = Ws.Name
      Ws.Protect ' Password:=""
    End If
  Next Ws
End Sub

A+

Hello,

J'ai une feuille excel dans lequel les utilisateurs mettent leur input dans la colonne J

Il lance la macro qui calcule et écrit l'output dans les colonnes A à H

Tout fonctionne.

Si je protège les colonnes A à H, la macro bug quand je la lance (La macro calcule directement dans des cellules de la colonne A à H).

Ma question: comment permettre à la macro de s'exécuter tout en protégeant les cellules de la colonne A à H d'interventions d'utilisateurs?

Merci pour votre aide.

NB: C'est mon premier poste et je me réjouis d'interagir avec vous .

Petit complément:

Ma macro en résumé:

Sub xyz()

Range("F6").Select

ActiveCell.FormulaR1C1 = "=RC(4)"

etc.

End Sub

Mon onglet s'appelle "FR" et mon code de protection "DE"

J'ai essayé:

Sub xyz()

Sheets("FR").Unprotect ("DE")

Range("F6").Select

ActiveCell.FormulaR1C1 = "=RC(4)"

etc.

Sheets("FR").protect ("DE")

End sub

Ma macro bug à la première ligne (Sheets("FR").Unprotect ("DE"))

En espérant être plus clair.

Bonjour Jack

Ne pas mettre entre parenthèses et respecter le texte

Sheets("FR").Unprotect  Password:="DE"

A+

Hello,

Merci pour la réponse BrunoM45.

Ca marche

Rechercher des sujets similaires à "probleme protection feuille bouton vba"