Sécuriser tableau excel

Résolu/Fermé
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 - 12 sept. 2007 à 11:47
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 - 13 sept. 2007 à 11:18
salut à tous,

j'ai un tableau excel que je rempli avec un forulaire créé avec vba. j'aimerai sécurisé mon tableau pour qu'on efface pas de cellule. j'ai sécurisé la feuille dans excel mais je ne peux plus rentré de texte dans mon forulaire pour remplir mon tableau.

si vous avez une idée pour m'aider ou des questions pour eclaircir mon problème n'esitez pas

merci d'avance
A voir également:

11 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
12 sept. 2007 à 12:38
Bonjour, et à tout hasard
Au cas ou votr sécurisation ne passe pas par un mot de passe particulier, vous pouvez revoir votre programme VBA:
en premiére ligne avec: Activesheet. Unprotect
Et en dernière ligne: Activesheet.protect
En fait, cela inclus les opérations de protection dans la macro
Mais je le répéte, ça ne marche pas avec un mot de passe
Une autre solution est de déprotéger les cellules à remplir
Cordialement

Science sans conscience n'est que ruine de l'Ame
0
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 6
12 sept. 2007 à 13:44
salut. merci de ton aide mais ca ne colle pas.

il faudrait que des que j'ouvre mon formulaire, ca retire la protection de la feuille ou des cellules et des que je referme mon formulaire, ca reprotege la feuille. n'esiste t'il pas un code vba pour réaliser cette opération?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
12 sept. 2007 à 14:28
aurel51, excusez moi d'insister
Les codes VBA pour protèger et déprotèger sont ceux que je vous ai indiqués sauf erreur de ma part.
Voila ci dessous par exemple, comment faire marcher (j'ai vérifié) un menu déroulant sur une feuille protégée sans mot de passe.
La protection est otée le temps de l'action et remise en suite, lorsque l'on lache la boite.
pour moi ,ça marche, tenez moi au courant

Private Sub ComboBox1_Change()
ActiveSheet.Unprotect
If ComboBox1.Value = "A" Then
Range("B6").Value = "BONJOUR"
ActiveSheet.Protect
Else
End If

End Sub
0
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 6
12 sept. 2007 à 14:46
ok, j'essai ça un peu plus tard dans l'après midi. je ne sais pas trop ou intégrer ce bout de code. je le mets sur mon bouton qui ouvre le formulaire?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
12 sept. 2007 à 16:19
Sans disposer du fichier pas facile de vous répondre, il faudrait savoir comment s'ouvre, se ferme le formulaire et les programmes qui s'y rapportent.
Si vous le souhaitez, vous pouvez mettre votre fichier (ou équivalent)sous le lien ci dessous, sachant, soyons franc, que je ne garantis pas la réponse.
Par contre d'autres plus doués que moi pourraient s'y attaquer
Bien cordialement



https://www.cjoint.com/
0
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 6
12 sept. 2007 à 17:32
voila j'ai mi mon fichier sur ce lien https://www.cjoint.com/?jmrDeIdKug

j'ai supprimer quelques cellules vu que cela concerne mon entreprise.

meci de ton aide
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
12 sept. 2007 à 18:20
Désolé, je ne peux pas l'ouvrir
0
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 6
13 sept. 2007 à 08:46
https://www.cjoint.com/?jniUkWdzeq


voila, ça devrait être bon
0
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 6
13 sept. 2007 à 09:38
je viens de trouver. ça marche bien si on ne met pas de mdp.

merci beaucoup de votre aide
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
13 sept. 2007 à 10:11
Heureux de savoir que vous avez résolu votre problème

Pour fignoler à tout hasard, après lecture de votre fichier, et abandon de la compréhension du fonctionnement qui n'a pas d'interet pour moi, vous pouvez localiser uniquement les cellules à libérer si vous voulez que votre tableau ne soit jamais modifiable ailleurs que sur les cellules à remplir
A chaque opération ou lancement de macro qui concerne un remplissage, ou regroupées si cela est possible;
Débuter la macro par activesheet.Unprotetct
Sélectionner uniquement les cellules à modifier
Entrer:
Sélection.Locked=False
Sélection.Formulahidden=False
Active sheet.Protect

Ainsi seules les cellules concernées par ls modifications seront dégagées.
Effectuer vos opérations
Refaite les formules ci dessus avec=True au lieu de False

Ce truc marche avec ces cellules prises au hasard sur votre tableau lorsque l'on clique sur le Bouton1
Je vous laisse voir dans vos macro si cette option à une utilité
Si oui, et pour allèger la msie en place des macros, vous pouvez en créer une avec le même texte pourouvrir et pour fermer.
Il suffit alors de placer
Application.Run "MacroXXXX" pour effectuer les opérations, à chaque poste
Ceci dit, au vu des macros de votre dossier (que je détruis), je n'ai pas grand chose de plus à vous apprendre
Bonne route. Bien cordialement


0
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 6
13 sept. 2007 à 11:18
Ok je comprends ce que vous voulez faire. j'essayerai cette opération dans l'apèm. En tout cas merci beaucoup du temps que vous avez passez à m'aider sur ce sujet.

A bientot
Cordialement
0