Protection de cellules - Excel 2013 -

Fermé
JL00700 Messages postés 90 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 1 novembre 2019 - 16 févr. 2018 à 19:23
 jl00700 - 17 févr. 2018 à 08:33
Bonsoir,
Toujours sur mon appli Excel où je rencontre un nouveau PB…
J’ai protégé la feuille (Formulaire) de manière à ce que l’utilisateur ne puisse pas naviguer ailleurs que dans les cellules dédiées : E9 – E11 – E13 – E15 – E17 – E19 – E21 – E23 (champs enregistrés dans la base lors de la validation sauf E19)
Mais sur cette feuille j’ai également trois autres cellules (A1 – E8 - G19) que j’utilise comme suit :
- A1 : Enregistre le dernier n° d’ordre enregistré dans la base
- E8 : Champ calculé = A1 + 1 (champs enregistré dans la base lors de la validation)
- G19 : Acronyme dérivé à partir de la saisie E19 (champs enregistré dans la base lors de la validation)
Ces trois champs n’ont pas à être accessibles par l’utilisateur mais sont exploités dans ma macro d’enregistrement.
De ce fait… lorsque je lance la macro d’enregistrement des données du formulaire  Plantage.
En réfléchissant bien, je crois comprends pourquoi ; la macro ne peut s’exécuter correctement car les zones ne sont plus accessibles.
Mais comment faire pour remédier à cela ???
Je suis preneur de toutes suggestions.
Merci par avance de votre attention.
Cordialement
Jean
A voir également:

3 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
16 févr. 2018 à 19:52
Bonjour
débuter la macro par
Activesheet.unprotect
la terminer par
Activesheet.protect

crdlmnt
0
Bj Vaucluse,
Merci de votre réponse...
J'ai déjà ces commandes dans ma macro !
Je vais regarder si il ne serait pas nécessaire d'intégrer d'autres fonctions dans ma macro.
Cordialement
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
16 févr. 2018 à 23:05
Bonjour,

Plantage ce n'est pas très précis...
Ligne de code en erreur n° et libellé du message et tout ce qui peut être utile.
eric
0
Bonjour,
J'ai réfléchi à mon problème et trouvé la solution suivante :
Je supprime ma cellule verrouillée et l'information qui y figure (3caractères) je l'intègre dans le libellé de la cellule visible par l'utilisateur :
EXEMPLE : J'avais contrat durée indéterminé (E19) que je traduisait par CDI (G19) et je transférais dans ma base G19.
Afin de rester dans ma logique initiale, je supprime la cellule G19 et modifie les libellés en E19, ce qui me donne dans l'exemple précédent CDI - contrat durée indéterminémais à ce moment là je ne doit transférer que les 3 caractères gauche de E19 dans ma base...
Comment écrire cette fonction dans ma macro, je n'y arrive pas !Pourriez-vous m’aider.
Merci par avance.
Cordialement
Jean

NB : Tous mes libellés courts sont de 3 caractères.

Macro actuelle (extrait) :

Sheets("CréOp").Select
Range("G19").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Base").Select
Range("H2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
0