Protéger une feuille contre des actions maladroites

Aloha

XLDnaute Accro
Bonjour,

Je produis tous les mois (par VBA) pour chaque salarié (80) une fiche où iul/elle introduit ses heures de travail, de congé, de maladie etc. et qui fait tous les calculs requis, ces calculs étant acttualisés (c.-à-d. qu'ils tiennent compte des heures recueillies les mois précédents depuis janvier).

Comme certaines personnes sont incroyablement maladroites avec la souris, ils arrivent toujours à apporter aux fiches des modifications involontaires mais fâcheuses.

Je joins un modèle de fiche.

Les cases sont composées en réalité de 2 cases superposées fusionnées. Malheureusement il est toujours possible de sélectionner une demi-case (ce que j'ai du mal à comprendre, puisqu'elles ont fusionné et ne constituent plus qu'une seule cellule!). La raison en est que dans la partie de droite de chaque feuille, comportant les calculs et que j'ai dû supprimer pour des raisons de taille de fichier à joindre, j'avais besoin du double de lignes de la partie droite; je n'ai pas trouvé d'autre solution que de fusionner toutes les cellules à gauche pour en avoir le double à droite. Dans ce contexte je serais très intéressé de savoir s'il y aurait un autre moyen de résoudre ce problème!

Il arrive que des personnes déplacent, sans le vouloir, encore une fois, des cellules, modifiant ainsi les formules dans la colonne AD (les formules sur la fiche donnent des messages d'erreur parce qu'il y a des cellules qui manquent; j'ai dû les supprimer pour satisfaire la contrainte de la taille maximale d'un fichier à joindre à ce message).
A vrai dire, je ne sais pas trop si, en déplaçant des cellules, on peut modifier une formule, mais le fait est que régulièrement des formules sont modifiées (décalage de la référence à des cellules dans les formules). Comment faut-il s'y prendre pour modifier une formule involontairement, par la simple manipulation maladroite de la souris?

Un exemple tel qu'il s'est produit:
La formule originale et exacte:
=NB.SI(F17:K17;"X")/2+NB.SI(L17:AA17;"X")+NB.SI(AB17:AC17;"X")/2

a été modifiée comme suit:
=NB.SI(F17:K17;"X")/2+NB.SI(L17:AB17;"X")+NB.SI(AA17:AB17;"X")/2

(pour la meilleure compréhension de la formule: les heures (introduites en tant que X) de 0 h à 6 h comptent à moitié, celles de 6 h à 22 h en entier et celles de 22 h à 0 h à moitié)

J'ai construit un exemple dans le fichier joint: la formule de la cellule AD19 est fausse et celle de la cellule AD21 est exacte.

Ma question:

y a-t-il un moyen de protection (action à intégrer dans mon code VBA) empêchant les personnes de faire ce genre de manipulations (sur les cellules et les formules) tout en leur permettant d'introduire les données?


Excel 2003

Merci d'avance pour toute aide.

Aloha
 

Pièces jointes

  • Classeur2.zip
    13.9 KB · Affichages: 45
  • Classeur2.zip
    13.9 KB · Affichages: 47
  • Classeur2.zip
    13.9 KB · Affichages: 40

dixit

XLDnaute Impliqué
Re : Protéger une feuille contre des actions maladroites

bonjour,
la protection de la feuille devrait suffire, donc protéger toute la feuille puis déprotéger uniquement les cellules de saisie, (avec un mot de passe).
 

joss56

XLDnaute Accro
Re : Protéger une feuille contre des actions maladroites

Bonjour,

l'idéal serait peut-être de mettre à disposition des utilisateurs un userform avec contrôle de validité. Les données seraient ainsi saisies dans des zones de texte et stockées ensuite sur les feuilles de calcul sans que les utilisateurs aient accès à ces feuilles de calcul.

Jocelyn
 

mutzik

XLDnaute Barbatruc
Re : Protéger une feuille contre des actions maladroites

Bonjour Aloha,

fusionner cellule, j'évite au max de max, c'est vraiment quand je ne peux faire autrement

Sinon, dans ton fichier, il n'y a que des #ref, #nombre ... etc, difficile de voir ce que cela doit donner

laisse nous plutot un fichier avec deux lignes de calculs, mais déja renseignées et le résultat que tu attends de nous
 

ERIC S

XLDnaute Barbatruc
Re : Protéger une feuille contre des actions maladroites

Bonjour à tous en général et aux bretons en particulier

(je suis né aux portes de Bretagne, à Fougères, mais le boulot m'a expatrié en Normandie, La honte :mad: )

par expérience, la solution de dixit est largement suffisante.
pour protéger contre le smauvaises manips, je ne mets même pas de mot de passe.

Si tu ne connais pas la manip, un peu plus de précision

de base si tu cliques sur une cellule et que tu fais format cellule protection, tu vois une case "verrouillée" cochée

seulement le verrouillage ne fonctionne que si tu fais outils protection protéger la feuille.

il faut donc décocher les cellules utilisateurs (sélectionne en zone, pas cellule par cellule)
protéger la feuille (sans mot de passe cela évite de l'oublier)
protéger le classeur pour éviter l'effacement des feuilles...

kenavo
 

Aloha

XLDnaute Accro
Re : Protéger une feuille contre des actions maladroites

Bonjour à vous tous qui avez si rapidement répondu. Vous êtes vraimenrt une communauté très active!

La solution qui me plaît le plus personnellement est celle avec l'userform; seulement ce n'est pas moi qui introduis les données, mais des personnes plus ou moins habiles avec la souris.
Voilà pourquoi elle est malheureusement inpraticable.

La protection de la feuille et le déverrouillage des cellules qui doivent être modifiables, ça je connais.

Est-il possible de configurer la protection de telle façon que, à la fois,
* les formules soient protégées (sans problème, je pense),
* le format des cellules dont le contenu doit être modifiable soit protégé,
* on ne puisse pas modifier ("défusionner") une cellule fusionnée et
* on ne puisse pas déplacer les cellules.

Salutations

Aloha
 
Dernière édition:

dixit

XLDnaute Impliqué
Re : Protéger une feuille contre des actions maladroites

re
il me semble que oui mais je n'ai pas essayé et toi, tu as essayé ?
ps : je confirme l'avis précédent sur les cellules fusionnées : c'est l'horreur ...
il vaut mieux utiliser le centrage horizontal sur plusieurs colonnes
 

dixit

XLDnaute Impliqué
Re : Protéger une feuille contre des actions maladroites

re
pour Joss56 :il n'y aucune exclusivité dans les réponses, au contraire le forum est là pour cela. J'espère qu'il fait beau dans le "sud", ici c'est super, comme toujours ou presque ...
 

ERIC S

XLDnaute Barbatruc
Re : Protéger une feuille contre des actions maladroites

re

fais des essais tu verras

si tu as XL2003

outils protection
protéger la feuille

cocher "sélectionner les cellules déverrouillées"

je pense que tu ne bougeras plus grand chose sur ta feuille
 

ERIC S

XLDnaute Barbatruc
Re : Protéger une feuille contre des actions maladroites

re Joss

j epense que tu as volé un proverbe normand

un autre :

A étretat, si tu ne vois pas "l'aiguille creuse", c'est qu'il pleut
Si tu la voit, c'est qu'il va pleuvoir
 

Aloha

XLDnaute Accro
Re : Protéger une feuille contre des actions maladroites

Merci encore une fois à tous ceux qui ont répondu (y compris à ceux d'entre vous qui ont légèrement dévié du sujet :))!

Je vois un petit problème pour perfectionner la protection et le verrouillage des cellules non modifiables.

D'où la question suivante:

Est-ce que je ne risque pas de créer de nouveaux problèmes si je vais avec un fichier créé dans une version assez récente d'Excel (2003), qui offre davantage d'options de protection, sur un autre ordinateur avec un Excel plus ancien qui n'intègre pas ces possibilités?

Merci d'avance pour vos réponses

Aloha
 

dixit

XLDnaute Impliqué
Re : Protéger une feuille contre des actions maladroites

bonjour,
en règle générale une nouvelle version exploite sans problème les classeurs d'une version précédente mais pas le contraire ; je dirais : à tester avec prudence.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 379
Messages
2 087 765
Membres
103 662
dernier inscrit
rterterert