Problème macro avec protéction feuille

Bonjour le forum,

Mon fichier possède une formulaire Userform avec lequel les utilisateurs vont pouvoir remplir ligne par ligne le tableau. Il fonctionne bien mais lorsque je décide d'ajouter une protection (Révision > Modification) sur le reste des cellules (Entête, titre etc...), ne laissant que l’intérieur du tableau modifiable, ma macro plante. Si je remplie mes cellules à la main il n'y a aucun problème. Peut être que j'emploie la mauvaise méthode.

Bonjour

Pas facile de donner un avis là. On a aucun élément.

Oui effectivement, c'est plus parlant avec un fichier. Le voici :

Ps : le mot de passe pour déverrouiller la protection est "essai"

Si on enlève la protection alors cela fonctionne correctement....

38bob-formulaire.zip (17.81 Ko)

Bonjour Bobléponge, le forum,

Sans doute en déprotégeant et protégeant Feuil1 pendant la macro, comme ceci :

 ' Remplir les colonnes

  Sheets("Feuil1").Unprotect ("essai")

  Range("C" & Derlig1) = Me.ComboBox_Nom
  Range("D" & Derlig1) = Me.TextBox_Commande
  Range("E" & Derlig1) = Me.TextBox_Article
  Range("F" & Derlig1) = Int(Me.TextBox_Nombre)
  ' Lors du remplissage de cette cellule, le tri s'effectue
  Range("H" & Derlig1) = Format(Me.TextBox_Delai, "mm/dd/yyyy")
  ' Fermer l'USF
  Unload UserForm1

  Sheets("Feuil1").Protect ("essai")

Cordialement

Joseph

Bonjour Joseph67,

Merci pour l'aide mais le message d'erreur est toujours présent :

prob

Bonjour Bobléponge, le forum,

Il suffit de déplacer l'instruction Unprotect quelques lignes au-dessus comme ceci :

  Sheets("Feuil1").Unprotect ("essai")

  ' Faire le trait ici, sinon problème après le remplissage de la colonne H
  With Range("C" & Derlig1 & ":I" & Derlig1).Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
  End With
  ' Remplir les colonnes
  Range("C" & Derlig1) = Me.ComboBox_Nom
  Range("D" & Derlig1) = Me.TextBox_Commande
  Range("E" & Derlig1) = Me.TextBox_Article
  Range("F" & Derlig1) = Int(Me.TextBox_Nombre)
  ' Lors du remplissage de cette cellule, le tri s'effectue
  Range("H" & Derlig1) = Format(Me.TextBox_Delai, "mm/dd/yyyy")
  ' Fermer l'USF
  Unload UserForm1

  Sheets("Feuil1").Protect ("essai")

Cordialement

Joseph

Impeccable ! 2 lignes supplémentaires et tout fonctionne. Merci Joseph67.

Rechercher des sujets similaires à "probleme macro protection feuille"