Sécuriser tableau excel

Résolu
aurel51 Messages postés 68 Statut Membre -  
aurel51 Messages postés 68 Statut Membre -
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
Configuration: Windows 2000
Internet Explorer 5.5

11 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  2. aurel51 Messages postés 68 Statut Membre 6
     
    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
  3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  4. aurel51 Messages postés 68 Statut Membre 6
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  7. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Désolé, je ne peux pas l'ouvrir
    0
  8. aurel51 Messages postés 68 Statut Membre 6
     
    je viens de trouver. ça marche bien si on ne met pas de mdp.

    merci beaucoup de votre aide
    0
  9. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  10. aurel51 Messages postés 68 Statut Membre 6
     
    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