Empêcher la lecture seule
Bonjour au forum,
Je rédige un programme permettant la saisie des données de production par les opérateurs. Le soucis est que les opérateurs vont vouloir indiquer leurs données sur chaque poste au même moment (environ 6 à 10 opérateurs en même temps à la fin de la production) et donc je ne veux pas qu'il y est de mode "Lecture Seule", comment faire ?
Si vous avez des idées, ou même un code, je suis preneur. Merci
ps: Je suis pas un expert en VBA ^^
Bonjour GouduriXx,
Je pensais que cela n'était pas possible, mais apparemment plusieurs utilisateurs peuvent travailler sur un même classeur en même temps en utilisant le mode partagé dont voici une vidéo démonstrative. https://www.youtube.com/watch?v=-3tVWjnyRvg
Pour ma part je ne sais pas comment cela fonctionne, et vu que je suis sceptique je ne peux que te conseiller de faire une feuille par opérateur! Pour leur simplifier la vie, tu peux faire un dialogue qui permet de choisir leur page à l'ouverture du fichier, dont voici un exemple.
Merci pour la réponse. Je regarde ça de suite.
Après se serait trop lourd de faire une page par opérateur car le programme est plus complexe que simplement entrer les données. Après ce programme doit être utilisé par les chef pour qu'ils aient accés à des récap des productions en fonction des critères qu'ils recherchent et d'autres fonctionnalités au programme. donc la page par opérateur n'est pas envisageable d'autant plus que j'ai un minimum de 20 opérateurs.
Cependant on a un autre programme, où pour remédier à ce problème, lors de l'ouverture du programme cela ouvre une copie du fichier (avec un nom différents pour chaque ouverture simultanée et lors de l'enregistrement ça réintègre les données dans le fichier source. Mais je voulais voir si il n'y avait pas plus simple ^^
edit: Je pense que je vais regarder avec le partage même si je suis pas sûr de mon coup ^^
[...] doit être utilisé par les chef pour qu'ils aient accés à des récap des productions en fonction des critères qu'ils recherchent et d'autres fonctionnalités au programme. donc la page par opérateur n'est pas envisageable.
Le fichier serait alors composé d'une page par opérateur ET d'une page contenant un tableau croisé dynamique. Ce dernier aurait alors pour rôle de faire la synthèse des données des pages de tous les opérateurs.
C'est une partie importante de ta problématique (qui ne me fait pas peur), mais qu'il faut développer afin qu'elle soit bien prise en compte.le programme est plus complexe que simplement entrer les données
PS: Rien que l'utilisation du classeur partagé peut peut-etre résoudre ton problème, mais pour ma part je ne vois pas comment 20 personnes peuvent écrire dans le même fichier en même temps sur les mêmes cellules sans que cela pose de problème xD Les développeurs Microsoft devront m'expliquer ce mystère
Mais avec ton système de 1 page par opérateur cela ne change pas le fait que si les opérateurs ouvrent le fichier en même temps la plupart seront en lecture seule ou je me trompe ?
Qu'il n'y ai pas de malentendu,
Solution 1:
- Le classeur des opérateurs est partagé (méthode décrite sur la vidéo)
- une page par Opérateur à l'intérieur
- une page supplémentaire pour condenser/synthétiser les données à destination des chefs.
Solution 2:
- Un classeur par Opérateur (pas besoin qu'il soit partagé ni rien du tout, une seule personne l'ouvrira à la fois)
- Un classeur pour les chef, qui va venir récupérer (par VBA ou autre) les informations des classeurs Opérateurs (cette opération si elle est bien faite n'empêche pas les opérateurs d'accéder à leurs classeurs)
Ce ne sont que des propositions évidemment, mais des propositions qui peuvent être viables.
Ok merci je visualise mieux les solutions. Dans la deuxième solution par contre du coup le chef ne doit pas ouvrir son programme en même temps qu'un opérateur sinon il sera en lecture seule étant donné qu'il doit récupérer les valeurs des classeurs opérateurs ?
(cette opération si elle est bien faite n'empêche pas les opérateurs d'accéder à leurs classeurs)
Justement si, en VBA en tout cas, il est possible d'ouvrir un fichier en mode lecture seule. Donc lors de la récupération des informations des fichiers opérateurs, ces fichiers sont ouverts en lecture seule par le fichier "chef". Si l'opérateur ouvre son fichier au même moment, il ne verra aucune différence, le fichier ne sera pas bloqué.Dans la deuxième solution par contre du coup le chef ne doit pas ouvrir son programme en même temps qu'un opérateur
Pour te donner une comparaison, lors de la récupération des données, le fichier "chef" fait une photocopie de tous les fichiers opérateurs, et laisse les originaux aux opérateurs.
D'accord je te remercie pour ces informations. Je pense que je vais partir sur cette solution 2. En attendant je note le sujet comme résolu.
Bonne continuation à toi et encore merci.