Classeur partagé et verrou cellule

Résolu/Fermé
sifusalade Messages postés 135 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 - 25 janv. 2014 à 13:06
sifusalade Messages postés 135 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 - 22 févr. 2014 à 12:51
Bonjour,

Je suis en train de créer une base dans laquelle plusieurs utilisateurs doivent bosser dessus en même temps.

L'insertion d'élément se fait via un UserForm contenant tout les combobox, textbox etc.. qui vont bien et au clic d'un CommandButton de cet UserForm, la procédure qui lance l'ajout est appelée.

Je commence ma procédure par un
ActiveSheet.Unprotect

et la termine par un
ActiveSheet.protect
(entre autre)

de sorte à ce que personne ne puisse modifier les cellules en cliquant dessus puis en tapant ce qu'il veut. Cela marche très bien en mode exclusif, mais dès que je met mon fichier en mode partagé, j'obtient une erreur comme quoi la méthode "Unprotect" a échoué. J'ai cru comprendre que le mode partagé ne pouvait pas modifier cette propriété.

Y'a t'il un moyen de protéger ma feuille contre toute modifications sauvage en mode partagé ?

A voir également:

14 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
25 janv. 2014 à 15:28
Bonjour,

Si tout ce fait via une ou plusieurs UF, Comment les personnes peuvent-ils acceder aux feuilles de calcul ????
0
sifusalade Messages postés 135 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 7
Modifié par sifusalade le 25/01/2014 à 15:43
Bonjour,

En fait j'ai placé un bouton sur la feuille qui permet tout simplement d'afficher l'UserForm par un appel de la procédure :

Sub Prc_AfficherUSF
USF.Show
End Sub
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
25 janv. 2014 à 15:52
Re,

ouvrir l'UF sur ouverture du fichier, ca devrait aller mieux !!!
0
sifusalade Messages postés 135 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 7
25 janv. 2014 à 21:36
Je n'ai aucun problème avec l'UserForm (j'avais d'ailleurs déjà essayé de l'afficher à l'ouverture du fichier mais ce n'était pas très pratique pour le reste).

Le problème c'est juste que j'aimerai empêcher les utilisateurs de pouvoir modifier les cellules en direct live. (La modification des lignes de mon tableau se fera via USF, je sais comment faire pour ça).

J'ai essayé
ActiveSheet.Unprotect "MotDePasse"
'suite du code pour insérer les éléments sur la dernière ligne de la feuille
ActiveSheet.Protect "MotDePasse"

Mais cela ne fonctionne qu'en mode exclusif et j'ai impérativement besoin de laisser mon classeur en mode partagé.

NB : J'ai complètement oublié de préciser que je suis sous Excel 2003 mais certains utilisateurs sont sur Excel 2010, donc si vous avez quelque chose qui fonctionne sur les deux versions c'est topissime
0

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

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
26 janv. 2014 à 10:22
Bonjour,

Vous utilisez quel Ordinateurs, parce que dans votre demande d'origine il est écrit MAC OS X et vous utiliseriez EXCEL2003 et 2010 qui sont des office Windows ????
0
sifusalade Messages postés 135 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 7
26 janv. 2014 à 10:33
Bonjour,

Au temps pour moi, j'irais du le préciser. Je poste sur le forum avec mon ordinateur perso qui est un MacBook Pro puisque je n'ai pas internet au boulot.

Au boulot, je suis sous Windaube XP avec le pack Office 2003. Certains de mes collègues eux, sont avec Windaube 7 avec le pack Office 2010. Ce que je cherche à faire est pour le boulot donc si ce n'est pas compatible avec mon pack Office 2011 pour Mac je m'en fou un peu lol...

Désolé si je ne l'ai pas précisé avant.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
26 janv. 2014 à 10:47
Re,

je suis sous Windaube XP,mes collègues eux, sont avec Windaube 7 Seriez-vous sectaire ???
0
sifusalade Messages postés 135 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 7
26 janv. 2014 à 11:20
Non, mais je n'aime pas Windows et j'ai voulu faire un peu d'humour bizarre
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
26 janv. 2014 à 11:51
Re,

Vous savez en ce moment l'humour "bizarre" ....

Mais revenons a ce qui vous tracasse.

d'apres Microsoft, c'est sans soucis:

excel2003:
http://office.microsoft.com/fr-fr/excel-help/proteger-et-partager-les-classeurs-financiers-HA001086044.aspx

excel2010:
https://support.microsoft.com/fr-fr/office/en-savoir-plus-sur-la-fonctionnalit%c3%a9-classeur-partag%c3%a9-49b833c0-873b-48d8-8bf2-c1c59a628534?ocmsassetid=hp010342985&correlationid=cf76ad79-d445-4aaf-a323-f911e3c97cbd&ui=fr-fr&rs=fr-fr&ad=fr

Votre fichier a ete cree en 2003 ou 2010 ??
0
sifusalade Messages postés 135 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 7
26 janv. 2014 à 11:58
Merci beaucoup,

J'ai déjà essayé ce qu'il y a écrit pour la version 2003 mais cela ne fonctionne pas. Je me fait un copier-coller de ce qui est écrit et je vais retenter en faisant ce qui est écrit à la lettre. Il est possible que mes cellules soient déjà verrouillées avant protection. D'après ce qu'il disent il faut les déverrouiller avant. (Je pense l'avoir fait mais comme en lisant j'ai eu un doute, je vais réessayer demain au boulot.)
0
sifusalade Messages postés 135 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 7
28 janv. 2014 à 21:14
Bonjour,

J'ai donc essayé ce que l'aide de Microsoft dit à la lettre mais cela ne marche toujours pas. (J'avais un doute mais j'avais bel et bien essayé).

J'ai donc continué à me creusé les méninges et faire des recherches et je suis finalement arrivé tout à l'heure à quelque chose de correct. C'est tout con (et tordu aussi lol). Voici ma trouvaille :


Pour la feuille en question :
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If ActiveCell.Value <> Target.Value Then        'Si la valeur de la cellule active est différente de la cellule cible
        Application.Undo        'On annule (comme si on cliquais sur le bouton "annuler")
       
        'Puis on affiche un message à l'utilisateur pour le prévenir que sa saisie n'a pas été prise en compte :
        MsgBox "Vous n'êtes pas autorisé à modifier les métadonnées d'un document en saisissant directement dans les cellules." & Chr(10) & Chr(10) & "Pour modifier les informations d'un document, veuillez sélectionner un élement de la ligne à modifier et cliquer sur " & Chr(171) & "Modifier" & Chr(187) & "." & Chr(10) & Chr(10) & "La modification que vous venez d'effectuer n'as donc pas été prise en compte.", vbInformation, "Avertissement"
    End If
 
'NB : Ne pas mettre les instructions dans un condition If..End If les appliquerai de façon infinie jusqu'à faire planter l'application
 
End Sub


Je vous avais prévenu, c'est tordu ! lol

ça a le mérite de fonctionner en plus d'être simple.

J'ai testé en mode "Exclusif" ET en mode "Partagé", sur mon Windows XP + Excel 2003 et cela fonctionne. Pas encore pu voir avec un collègue pour tester avec Windows 7 + Excel 2010...

Je pense qu'il n'y a pas besoin d'expliquer le code mais si vous avez besoin n'hésitez pas
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
29 janv. 2014 à 08:30
Bonjour,

Merci pour le code, je connais. Si vous avez vraiment partage votre classeur, j'espere que vous en avez une copie. Normalement vous n'avez plus acces au VBA.
0
sifusalade Messages postés 135 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 7
29 janv. 2014 à 20:26
Bonjour,

Oui le partage m'empêche d'accéder au code, pour modifier je repasse en mode exclusif et je modifie.

Pour ce qui est de ma trouvaille, il semble que cela ne fonctionne pas sous 2010. J'ai testé sur l'ordinateur d'un collègue. De plus, la chose la plus importante, ne se fait pas avec Excel 2010.

C'est à dire que, après saisie du formulaire puis clic sur un bouton, la procédure insère ces éléments sur la 1ère ligne vide (celle après la dernière ligne).

Pour ce faire, dès ajout du 1er élément de la ligne, un enregistrement du classeur se fait pour que justement, si quelqu'un veut insérer en même temps, il ne prenne pas la même ligne. D'après mes tests, avec 2 Excel 2003 cela passe, mais avec un 2003 et un 2010, les deux entrées se font sur la même ligne, le dernier a avoir cliqué a gagné. De plus, Même si je suis seul à prendre la ligne, si une fois que la ligne est prise, même si mon collègue enregistre de son côté, il ne voit toujours pas apparaitre mon ajout. (et vise-versa)

Mais bon, ce n'est pas l'objet du post, même si c'est cela se rapproche, je ferai un autre sujet pour ça.

Je suis donc revenu à mon point de départ, ma bidouille de fonctionnant pas sous 2010, si vous avez une astuce qui fonctionne sous les deux versions, je suis preneur ^_^
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
30 janv. 2014 à 09:34
Bonjour,

A voir:

http://tayeb.fr/informatique/collaboratif_HP100968331036.pdf

chapitre: Résoudre les modifications contradictoires
apportées dans un classeur partagé
0
sifusalade Messages postés 135 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 7
22 févr. 2014 à 12:51
Bonjour,

Tout d'abord, toutes mes excuses pour cette réponse tardive, je ne peux accéder au net que par périodes. Je n'y ai pas toujours accès.

Merci pour tout ;-)

Le travail collaboratif ne me convient par car la gestion des conflits affiche un message demandant si l'on veut appliquer les modifs de l'autre ou la notre. Et ça je n'en veux surtout pas car tout le monde va cliquer sur "accepter les miennes" sans se poser de question, ce qui peut foutre le bazar dans la base.

Ma bidouille qui ne fonctionnait pas sous 2010 semble finalement fonctionner du jour au lendemain. En fait nous avons au boulot une informatique déplorable. Je vais donc me contenter de ma bidouille qui semble fonctionner.

Nous pouvons considérer le sujet comme étant résolu.
0