protection de ma feuille

hboisteau

XLDnaute Junior
bonsoir a vous, voila j'ai adapté un morceau de code VBA pour le besoin de mon fichier, mais j'aimerais bien proteger ma feuille contre les modifications de cellules. J'ai essayer "Sheets Protect" mais j'ai un bug.
Si quelqu'un pourrait me venir en aide.
Avec mes remerciements
hervé
ci dessous le code VBA

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Variant
Dim L As Byte, I As Long
Dim C As Byte


If Target.Address(0, 0) = "A2" Then
Me.Range("A30:Y1000").ClearContents
L = 30
With Sheets("BaseDonnées")
Plage = .Range("A2:AK" & .Range("A65536").End(xlUp).Row)
End With



For I = 1 To UBound(Plage)
If Target.Value = Plage(I, 1) Then
For C = 1 To 37
Me.Cells(L, C) = Plage(I, C)
Next C
L = L + 1
End If
Next

Else

End If
End Sub
 

Marc77

XLDnaute Occasionnel
Re : protection de ma feuille

Bonsoir hboisteau et le forum

Tu peux essayer le code suivant:


Sub ProtegeFeuilles()
Dim MaFeuille As Worksheet
For Each MaFeuille In Worksheets
MaFeuille.Protect Password:="1234"
Next
End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : protection de ma feuille

Bonjour hboisteau,

Etant donné le code VBA, je suppose que tu maîtrise l'enregistreur de macro...
As-tu essayé d'enregistrer une macro ?

De mémoire ça devrait donner
Sheets("NomFeuil").Unprotect "motdepasse"

Sheets("NomFeuil").Protect "motdepasse"
 

jeanpierre

Nous a quitté
Repose en paix
Re : protection de ma feuille

Bonsoir hboisteau,

Essaies avec, en début de procédure :

ActiveSheet.Unprotect ("ton mot de passe"), et en fin de procédure :
ActiveSheet.protect ("ton mot de passe")

Tu nous dis,

Bonne soirée.

Jean-Pierre

Edit : bonsoir Marc, tototiti, ça bouscule, on dirait...
 

hboisteau

XLDnaute Junior
Re : protection de ma feuille

Bonjour a vous,
Malheureusement j'ai essayer avec .
ActiveSheet.Unprotect en debut de procédure et
Activesheet.Protect en fin de procedure mas ca bug sur la ligne

Me.Cells(L, C) = Plage(I, C)

donc cela ne marche pas

Encore merci à vous

Hboisteau
 

jeanpierre

Nous a quitté
Repose en paix
Re : protection de ma feuille

Bonjour hboisteau,

Si tu as posé la première ligne juste après la Sub, et la seconde juste avant le End Sub, cela doit fonctionner, ou il y a autre chose.

Sinon, déposes nous un petit fichier avec quelques exemples et cette macro, en t'assurant toutefois que sur ce fichier cela ne fonctionne pas non plus. (Format XLS ou ZIP de préférence et moins de 48 Ko)

A te lire.

Jean-Pierre
 

hboisteau

XLDnaute Junior
Re : protection de ma feuille

bonjour,
j'ai essayer de mettre juste apres la Sub, mais toujours le meme probleme.
donc je me permets de vous joindre une copie du fichier
Avec mes salutations
hboisteau
 

Pièces jointes

  • Copie de Analyses.zip
    30.3 KB · Affichages: 24

pierrejean

XLDnaute Barbatruc
Re : protection de ma feuille

bonjour a tous

Voila comment je procederai

Edition: Je n'avais pas vu ton fichier !
Si tu as des difficultés pour adapter ma solution , reviens sur le fil
 

Pièces jointes

  • hboisteau.zip
    10.9 KB · Affichages: 32
  • hboisteau.zip
    10.9 KB · Affichages: 31
  • hboisteau.zip
    10.9 KB · Affichages: 33
Dernière édition:

hboisteau

XLDnaute Junior
Re : protection de ma feuille

Merci de cette reponse, mais cela ne correspond pas excatement a ma recherche.
J'aimerais si possible ne pas utiliser d'userform vue le nombres a numero a controler je pense que cela alourdirait le fichier
mais encore merci

hboisteau
 

pierrejean

XLDnaute Barbatruc
Re : protection de ma feuille

Re

il ne s'agit pas d'userform !!
mais d'un bouton et d'une inputbox
Teste sur ton fichier (effectivement il est passé de 141k a 146 k !!!)
 

Pièces jointes

  • Copie de Analyses Mas Bussang.zip
    33 KB · Affichages: 31

hboisteau

XLDnaute Junior
Re : protection de ma feuille

Bonsoir,
excuser-moi je me suis mal exprimer.
mais il vra que cela fonctionne mais je ne voudrais pas rajouter de bonton, juste saisir le numero souhaiter dans la cellule et vba fait le reste.
voila, mais quand meme merci pour vous pencher sur mon probleme

hboisteau
 

Pierrot93

XLDnaute Barbatruc
Re : protection de ma feuille

Bonjour à tous

ton code est placé dans l'événement "change" de la feuille, tu ne peux donc déprotéger ta feuille dans ce même événement puisque toute modification est interdite par la protection. Une solution protéger ta feuille par vba, par exemple à l'ouverture du classeur, en utilisant l'argument "userinterfaceonly" qui permet l'exécution du code sur feuille protégée :

code à placer dans le module "thisworkbook"
Code:
Private Sub Workbook_Open()
Sheets("nomfeuille").Protect "toto", userinterfaceonly:=True
End Sub

bonne journée
@+
 

Statistiques des forums

Discussions
312 147
Messages
2 085 765
Membres
102 968
dernier inscrit
Tmarti