Rechercher : dans
Par :

EXCEL: protection feuilles excel

Dernière réponse le 10 nov 2008 à 08:39:09 slamdunk77, le 9 nov 2008 à 16:40:13 
 Signaler ce message aux modérateurs

Bonjour à tous,

voila mon petit soucis, dans mon ficher excel j'ai 240 feuilles et je voudrais les protéger.

Sauf que pour ma feuille 1 je protège toute ma feuille (donc ça j'ai su le faire) mais après de la feuille 2 à 240 je voudrais protéger seulement que quelques colonnes et je ne sais comment faire cela, mise à part le faire une par une ( mais si je pouvais éviter!).

Alors si quelqu'un a une idée, je suis preneur.

Merci a tous, @+

Configuration: Windows XP
Windows 2000
Excel 2000 et 2007

Meilleures réponses pour « EXCEL: protection feuilles excel » dans :
Insérer une image de fond sous la grille Excel VoirVous souhaitez insérer un logo sous JPEG ou autre, sous votre grille Excel : FORMAT / FEUILLE / ARRIERE PLAN s'ouvre un panneau vous présentant vos images pour sélection.... choisissez, validez. Pour le supprimer : même procédure FORMAT /...

1

Mike-31, le 9 nov 2008 à 17:13:35

Salut,

En fait par défaut toutes les cellules des feuilles sont verrouillées dés lors que tu protèges la feuille par outils/protection.

Si c'est la même colonne sur chaque feuille que tu souhaites deverrouiller, ou la même action

toutes tes feuilles doivent être déprotégées

Cliques sur la première feuille que tu souhaites traiter puis sur l'onglet de la feuille activée, clic droit et sélectionner toutes les feuilles.

tout ce que tu feras sur la première feuille sera automatiquement reproduit en même temps sur toutes tes feuilles.

Ensuite clic droit sur l'onglet de feuille et dissocier les feuilles. Pour la protection de chaque feuille hélas tu devras procéder feuille par feuille ou passer en VBA

A+

Répondre à Mike-31

2

gepsyc, le 9 nov 2008 à 17:55:02

Pour tous vos problèmes avec Excel, un site à ne pas manquer :

http://forum.excel-pratique.com/

Répondre à gepsyc

3

michel_m, le 9 nov 2008 à 18:07:56

Gepsyc

Donc, ici, on est des cons ?
Michel

Répondre à michel_m

5

wilfried_42, le 9 nov 2008 à 18:28:42

Bonjour Michel

suite à ton coup de gueule bien compréhensible, et par curiosité, je suis allé voir son forum

y pas à fouetter un chat

Amicalement
@ bientôt sur le Forum Cordialement
Wilfried

Répondre à wilfried_42

4

slamdunk77, le 9 nov 2008 à 18:15:34

Oui merci pour ta réponse,
c'est bien ce qu'il me semblait, je dois le faire feuille par feuille (sa va mettre des heures!).
Et je ne connais pas les assez bien les macros pour le faire.
Tant pis.

Merci quand même, @+

Répondre à slamdunk77

6

michel_m, le 9 nov 2008 à 18:43:51

Salut Wilfried, slamduck, Mike of Toulouse ( ou à coté?)

Wilfried: effectivement, à part Myta ex-XLD!

Bon,Slam.

ci dessous petite macro du Dimanche "après vêpres", les colonnes A à E restent verrouillées (tu n'avais pas précisé...):

Sub proteger()
nbre = Sheets.Count
For cptr = 1 To nbre
    With Sheets(cptr)
        .Cells.Locked = False
        .Columns("A:E").Locked = True
        .Protect
    End With
Next
End Sub


si tu ne connais pas les macros, tu nous le dis

Cordialement,
Michel

Répondre à michel_m

7

Raymond PENTIER, le 9 nov 2008 à 18:57:38

Les feuilles 2 à 240 ont-elles la même structure, donc les mêmes colonnes à protéger ? C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂

Répondre à Raymond PENTIER

8

slamdunk77, le 9 nov 2008 à 19:32:49

Oui les feuilles 2 à 240 ont la même structure. Les colonnes où il ne faut rien écrire sont :

A - J - K - L - M - N - O - P - X - Z - AA - AB et de AD à AU.

Répondre à slamdunk77

10

Raymond PENTIER, le 9 nov 2008 à 20:47:59

Alors la toute première réponse, celle de Michel au post 1, répond parfaitement à ton problème ! C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂

Répondre à Raymond PENTIER

11

Raymond PENTIER, le 9 nov 2008 à 21:07:18

... celle de Mike-31, comme me l'a fait remarquer une lectrice assidue et attentive, de la région bordelaise ... C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂

Répondre à Raymond PENTIER

9

slamdunk77, le 9 nov 2008 à 19:37:54

Et si j'utilise la macro, je pourrais la désactiver si j'ai un changement de données à faire?

merci, @+

Répondre à slamdunk77

12

slamdunk77, le 9 nov 2008 à 21:12:55

Bon si c'est tout ce qu'il me reste à faire, je le ferai.
Mais si une personnes me poste la macro je lui serai très reconnaissant.

Merci à vous tous pour vos idées et solutions.

A la prochaine, bye

Répondre à slamdunk77

13

Mike-31, le 9 nov 2008 à 21:16:43

Je reprends le fil de la conversation, et soutiens pleinement le coup de gueule de michel_m, Soit on soutient l’équipe dont on fait parti soit on va voir ailleurs.

Pour revenir à notre problème, si slamduck77 ne domine pas le VBA, il lui sera difficile de comprendre et encore plus modifier le code plus tard. Comme je lui conseillais dans le post 1, en une seule opération il lui est possible de paramétrer toutes ces feuilles, la seule difficulté est la protection des feuilles qui se fera feuille par feuille.
Avec une macro, c’est la macro qui le fera exactement de la même manière.
Pour écrire cette macro avec un code qui sera lourd il nous faudrait le nom exact des 250 feuilles sans négliger les majuscules, mais après il faudra créer sur son fichier un module !

A voir

Répondre à Mike-31

14

eriiic, le 9 nov 2008 à 21:27:29

Bonsoir tout le monde,

pas forcément mike, on peut travailler avec les index des feuilles :

Sub Protege()
    Dim i As Long
    For i = 1 To Sheets.Count
        Sheets(i).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        'Sheets(i).Unprotect
    Next
End Sub

Le code pour déprotéger est en commentaire...
A coller dans un module

eric

Répondre à eriiic

15

Mike-31, le 9 nov 2008 à 21:35:13

Salut Eriiic,

Bien vu, toujours la avec une fine solution, tu observes et sots ta botte secrète et fais mouche à tous coup.
J’espère que tu resteras longtemps sur ce forum.

Bonne soirée

Répondre à Mike-31

16

slamdunk77, le 9 nov 2008 à 22:04:00

Je viens de voir vos postes, je comprends pas tout Mike-31 et Eriiic.
Je dirais même plus que je suis perdu ...

je comprends pas le terme de feuille index.
Sinon, toutes mes feuilles sont renommées, je sais pas si cette information est importante pour vous, ou si ça ne change rien pour vos macros .

@+

Répondre à slamdunk77

17

eriiic, le 9 nov 2008 à 22:37:08

T'inquiète, on va t'expliquer...

Déjà déprotège tes colonnes où il y aura saisie comme mike te l'a expliqué au post1 :
clic sur la 1ère feuille concernée, shift+clic sur la dernière, et tu sélectionnes successivement tes colonnes pour les déverrouiller, ça s'appliquera à tous les onglets sont sélectionnés (en blanc).

Ensuite Alt+F11 pour appeler l'éditeur VBA.
A gauche, clic droit sur ton projet (porte le nom de ton classeur) et 'insertion / module'.
Dans la fenetre de droite qui s'est crée tu colles :

Sub Protege()
    ' protège toutes les feuilles sauf la 1ère
    Dim i As Long
    For i = 2 To Sheets.Count
        Sheets(i).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Next
End Sub

Sub Deprotege()
    ' déprotège toutes les feuilles sauf la 1ère
    Dim i As Long
    For i = 2 To Sheets.Count
        Sheets(i).Unprotect
    Next
End Sub


Tu retournes dans ton classeur, tu sauvegardes
Alt+F8 pour appeler les macros, sélectionne celle qui t'interesse et 'executer'

eric

Répondre à eriiic

18

Mike-31, le 9 nov 2008 à 22:47:35

Avec la participation de plusieurs tu vas avoir une macro top
Pour commencer tes feuilles doivent être protégées et seules les colonnes B, C, D, E, F, G, H, I, Q, R, S, T, U, V, W, Y, et AC doivent être accessibles, c’est bien cela !

Si c'est ça colle ce code dans un module et testes

Sub Deverrouille()
Dim i As Long
For i = 1 To Sheets.Count
Sheets(i).Unprotect
Next
Sheets.Select
Range("B:I,Q:W,Y:Y,AC:AC").Select
Selection.Locked = False
Range("A1").Select
Sheets("Feuil1").Select
For i = 1 To Sheets.Count
Sheets(i).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Next
End Sub


Pour afiner le code
Ensuite sur ces colonnes l’accès est de qu’elle ligne à quelle ligne, et le nombre peut il varier !.

A+

Répondre à Mike-31

19

slamdunk77, le 9 nov 2008 à 23:51:16

Je suis peux être long à comprendre, mais c'est 2 macros différentes que vous m'avez posté Mike-31 et Eriiic?
Bon je réfléchis a ça cette nuit, j'essaye ça demain, et je vous tiens au courant.

Merci, @+

Répondre à slamdunk77

20

 Mike-31, le 10 nov 2008 à 08:39:09

Salut,

Eriiic t'a proposé deux macros, une pour protéger toutes tes feuilles et qui se nomme Protege et une pour déprotèger toutes tes feuilles nommée Deprotege

Ma proposition regroupe ces deux macros et j'ai ajouté le code pour déverrouiller les colonnes acessible.

En clair mon code Déprotége toutes tes feuilles déverrouille les colonnes que tu souhaites rendre accèssible et reprotége tes feuilles.

Pour un fonctionnement plus rationnel il conviendrai de deverrouiller les plages plutôt que les colonnes, c'est pour cela que je te demandais de nous dire la longueur utilisable de tes colonnes (de la ligne ? à la ligne ?).

comme tu es novice en VBA je pense qu'Eriiic à raison de te proposer les macro séparées, aussi, si la macro que je te propose te convient, je ta la proposerais scindée en 3 pour que tu puisse suivre le code

A+

Répondre à Mike-31
Collection CommentÇaMarche.net