Protection d'une sélection de colonne via VBA

Bonjour à tous,

J'essaye à l'aide de VBA de protéger uniquement certaines colonnes dans une feuille. J'ai essayer d'enregistrer une macro en réalisant les tâches suivantes :

  • déverrouiller l'ensemble de la feuille
  • vérouiller les colonnes à protéger
  • activer la protection de la feuille
J'ai bien le résultat attendu et je récupère quelques lignes de codes.

Lorsque j'insère ce code dans ma macro, celui-ci ne fonctionne pas. J'ai le message suivant : Erreur d'exécution 1004: La méthode Select de la classe Range a échoué.

Le blocage a lieu à la ligne : Columns("A:G").Select

Voici le code utilisé :

Sheets("4-DOCUMENTATION").Select
    Selection.Locked = False
    Selection.FormulaHidden = False
    Columns("A:G").Select
    Range("G1").Activate   '(=>je ne vois pas ce que fait cette ligne)
     Selection.Locked = True
    Selection.FormulaHidden = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

Merci d'avance pour vos réponses.

Bien cordialement,

Nicolas

Bonjour

Une solution consiste à déprotéger la feuille au début de ta macro

A tester

Sub test()
  With Sheets("4-DOCUMENTATION")
    .Unprotect
    With .Cells
      .Locked = False
      .FormulaHidden = False
    End With
    With .Columns("A:G")
      .Locked = True
      .FormulaHidden = False
    End With
    .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
  End With
End Sub
Rechercher des sujets similaires à "protection selection colonne via vba"