Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Bloquer l'accès à certaines cellules.

10 réponses
Avatar
Calou
Bonjour les amis,

J'ai un tableau excel et je voudrais qu'on ne puisse pas acceder aux
cellules au del=E0 d'une certaine colonne et d'une certaine ligne (soit
par les fleches directrices soit par l'ascenseur. Est ce possible par
le biais d'une macro ?

Un grand merci =E0 vous par avance.

Cordialement,

Philippe

10 réponses

Avatar
DanielCo
Bonjoour,
Mets cette macro (en changeant le nom de la feuille) dans le module
ThisWorkbook :

Private Sub Workbook_Open()
Sheets("Feuil1").ScrollArea = "a1:m100"
End Sub

Daniel


Bonjour les amis,

J'ai un tableau excel et je voudrais qu'on ne puisse pas acceder aux
cellules au delà d'une certaine colonne et d'une certaine ligne (soit
par les fleches directrices soit par l'ascenseur. Est ce possible par
le biais d'une macro ?

Un grand merci à vous par avance.

Cordialement,

Philippe
Avatar
Gloops
Calou a écrit, le 14/06/2011 14:35 :
Bonjour les amis,

J'ai un tableau excel et je voudrais qu'on ne puisse pas acceder aux
cellules au delà d'une certaine colonne et d'une certaine ligne (soit
par les fleches directrices soit par l'ascenseur. Est ce possible par
le biais d'une macro ?

Un grand merci à vous par avance.

Cordialement,

Philippe



Bonjour,

La notion à approfondir est celle de protection de la feuille.

Dans le principe, chaque cellule a une propriété qui dit si
l'utilisateur peut y écrire ou non, et il en est tenu compte seulement
si la feuille est protégée.

La protection peut être, ou non, assortie d'un mot de passe.

C'est une bonne idée d'allouer une couleur différente aux cellules où
l'utilisateur peut écrire, ça permet de mieux s'y retrouver, même s i les
déplacements de curseur vont envoyer le curseur de l'une à l'autre, d ans
le cas où la feuille est protégée.
Avatar
Gloops
Ah oui, ce que tu as fait là, c'est pour qu'on ne puisse pas faire
apparaître les autres cellules à l'écran (je ne connaissais pas,
d'ailleurs).

Ce que j'ai proposé, en revanche, c'est pour qu'on ne puisse pas faire
de saisie ailleurs que là où c'est autorisé. Sans que ça empêch e de se
balader où on veut.

Voilà qui découle de deux acceptions possibles de l'expression "accé der
aux cellules", donc à deux on peut se dire que vraisemblablement nous
avons fourni une réponse complète.

A ceci près que je ne suis pas entré dans le développement d'une ma cro
pour protéger la feuille, me disant qu'au besoin ça allait être vit e
fait avec l'enregistreur :)

_______________________________________
DanielCo a écrit, le 14/06/2011 14:42 :
Bonjoour,
Mets cette macro (en changeant le nom de la feuille) dans le module
ThisWorkbook :

Private Sub Workbook_Open()
Sheets("Feuil1").ScrollArea = "a1:m100"
End Sub

Daniel


Avatar
DanielCo
Le demandeur ne veut pas qu'on se promène sur sa feuille. C'est ce que
je lui ai fourni.
Daniel


Ah oui, ce que tu as fait là, c'est pour qu'on ne puisse pas faire apparaître
les autres cellules à l'écran (je ne connaissais pas, d'ailleurs).

Ce que j'ai proposé, en revanche, c'est pour qu'on ne puisse pas faire de
saisie ailleurs que là où c'est autorisé. Sans que ça empêche de se balader
où on veut.

Voilà qui découle de deux acceptions possibles de l'expression "accéder aux
cellules", donc à deux on peut se dire que vraisemblablement nous avons
fourni une réponse complète.

A ceci près que je ne suis pas entré dans le développement d'une macro pour
protéger la feuille, me disant qu'au besoin ça allait être vite fait avec
l'enregistreur :)

_______________________________________
DanielCo a écrit, le 14/06/2011 14:42 :
Bonjoour,
Mets cette macro (en changeant le nom de la feuille) dans le module
ThisWorkbook :

Private Sub Workbook_Open()
Sheets("Feuil1").ScrollArea = "a1:m100"
End Sub

Daniel
Avatar
Calou
On 14 juin, 14:42, DanielCo wrote:
Bonjoour,
Mets cette macro (en changeant le nom de la feuille) dans le module
ThisWorkbook :

Private Sub Workbook_Open()
Sheets("Feuil1").ScrollArea = "a1:m100"
End Sub

Daniel



> Bonjour les amis,

> J'ai un tableau excel et je voudrais qu'on ne puisse pas acceder aux
> cellules au del d'une certaine colonne et d'une certaine ligne (soit
> par les fleches directrices soit par l'ascenseur. Est ce possible par
> le biais d'une macro ?

> Un grand merci vous par avance.

> Cordialement,

> Philippe- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour,

C'est extra ! a peine posée la question que j'ai deja la réponse !
Je suis désolé de ne pas y avoir pensé plus tot mais il y a t il un
moyen pour dévérouillé cette macro à l'aide d'un mot de passe par
exemple ?

Merci encore pour vos réponses aussi rapides qu'efficaces !

Amicalement,

Philippe
Avatar
DanielCo
On 14 juin, 14:42, DanielCo wrote:
Bonjoour,
Mets cette macro (en changeant le nom de la feuille) dans le module
ThisWorkbook :

Private Sub Workbook_Open()
Sheets("Feuil1").ScrollArea = "a1:m100"
End Sub

Daniel



Bonjour les amis,



J'ai un tableau excel et je voudrais qu'on ne puisse pas acceder aux
cellules au del d'une certaine colonne et d'une certaine ligne (soit
par les fleches directrices soit par l'ascenseur. Est ce possible par
le biais d'une macro ?



Un grand merci vous par avance.



Cordialement,



Philippe- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -



Bonjour,

C'est extra ! a peine posée la question que j'ai deja la réponse !
Je suis désolé de ne pas y avoir pensé plus tot mais il y a t il un
moyen pour dévérouillé cette macro à l'aide d'un mot de passe par
exemple ?

Merci encore pour vos réponses aussi rapides qu'efficaces !

Amicalement,

Philippe



Non, c'est le problème avec les macros, il faut que l'utilisateur
accepte d'activer les macros. Le moyen de contourner, c'est de masquer
la feuille et de l'afficher par macro. donc, si les macros ne sont pas
activées, seule Feuil2 est affichée avec un message invitant à activer
les macros :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil1").Visible = xlVeryHidden
Sheets("Feuil2").Visible = True
End Sub

Private Sub Workbook_Open()
Sheets("Feuil1").ScrollArea = "a1:M100"
Sheets("Feuil1").Visible = True
Sheets("Feuil2").Visible = xlVeryHidden
End Sub

Ce n'est pas absolument incontournable, mais il faut une certaine
connaissance de VBA pour le faire.
Tu peux aussi définir la zone autorisée une fois et enregistrer le
classeur. Il faut aussi mettre un mot de passe sur le projet VBA. Là
non plus, ce n'est pas sûr à 100%, comme tout ce qui est sécurité dans
Excel
Daniel
Avatar
Calou
On 14 juin, 15:22, DanielCo wrote:
> On 14 juin, 14:42, DanielCo wrote:
>> Bonjoour,
>> Mets cette macro (en changeant le nom de la feuille) dans le module
>> ThisWorkbook :

>> Private Sub Workbook_Open()
>> Sheets("Feuil1").ScrollArea = "a1:m100"
>> End Sub

>> Daniel

>>> Bonjour les amis,

>>> J'ai un tableau excel et je voudrais qu'on ne puisse pas acceder aux
>>> cellules au del d'une certaine colonne et d'une certaine ligne (soit
>>> par les fleches directrices soit par l'ascenseur. Est ce possible par
>>> le biais d'une macro ?

>>> Un grand merci vous par avance.

>>> Cordialement,

>>> Philippe- Masquer le texte des messages pr c dents -

>> - Afficher le texte des messages pr c dents -

> Bonjour,

> C'est extra ! a peine pos e la question que j'ai deja la r ponse !
> Je suis d sol de ne pas y avoir pens plus tot mais il y a t il un
> moyen pour d v rouill cette macro l'aide d'un mot de passe par
> exemple ?

> Merci encore pour vos r ponses aussi rapides qu'efficaces !

> Amicalement,

> Philippe

Non, c'est le probl me avec les macros, il faut que l'utilisateur
accepte d'activer les macros. Le moyen de contourner, c'est de masquer
la feuille et de l'afficher par macro. donc, si les macros ne sont pas
activ es, seule Feuil2 est affich e avec un message invitant activer
les macros :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil1").Visible = xlVeryHidden
Sheets("Feuil2").Visible = True
End Sub

Private Sub Workbook_Open()
Sheets("Feuil1").ScrollArea = "a1:M100"
Sheets("Feuil1").Visible = True
Sheets("Feuil2").Visible = xlVeryHidden
End Sub

Ce n'est pas absolument incontournable, mais il faut une certaine
connaissance de VBA pour le faire.
Tu peux aussi d finir la zone autoris e une fois et enregistrer le
classeur. Il faut aussi mettre un mot de passe sur le projet VBA. L
non plus, ce n'est pas s r 100%, comme tout ce qui est s curit dans
Excel
Daniel- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour,

Je teste tout cela ce soir et je te tiens au courant !
en tout cas, mille merci de ton aide.

Amicalement

Philippe
Avatar
Calou
On 14 juin, 15:28, Calou wrote:
On 14 juin, 15:22, DanielCo wrote:





> > On 14 juin, 14:42, DanielCo wrote:
> >> Bonjoour,
> >> Mets cette macro (en changeant le nom de la feuille) dans le module
> >> ThisWorkbook :

> >> Private Sub Workbook_Open()
> >> Sheets("Feuil1").ScrollArea = "a1:m100"
> >> End Sub

> >> Daniel

> >>> Bonjour les amis,

> >>> J'ai un tableau excel et je voudrais qu'on ne puisse pas acceder au x
> >>> cellules au del d'une certaine colonne et d'une certaine ligne (soi t
> >>> par les fleches directrices soit par l'ascenseur. Est ce possible p ar
> >>> le biais d'une macro ?

> >>> Un grand merci vous par avance.

> >>> Cordialement,

> >>> Philippe- Masquer le texte des messages pr c dents -

> >> - Afficher le texte des messages pr c dents -

> > Bonjour,

> > C'est extra ! a peine pos e la question que j'ai deja la r ponse !
> > Je suis d sol de ne pas y avoir pens plus tot mais il y a t il un
> > moyen pour d v rouill cette macro l'aide d'un mot de passe par
> > exemple ?

> > Merci encore pour vos r ponses aussi rapides qu'efficaces !

> > Amicalement,

> > Philippe

> Non, c'est le probl me avec les macros, il faut que l'utilisateur
> accepte d'activer les macros. Le moyen de contourner, c'est de masquer
> la feuille et de l'afficher par macro. donc, si les macros ne sont pas
> activ es, seule Feuil2 est affich e avec un message invitant activer
> les macros :

> Private Sub Workbook_BeforeClose(Cancel As Boolean)
> Sheets("Feuil1").Visible = xlVeryHidden
> Sheets("Feuil2").Visible = True
> End Sub

> Private Sub Workbook_Open()
> Sheets("Feuil1").ScrollArea = "a1:M100"
> Sheets("Feuil1").Visible = True
> Sheets("Feuil2").Visible = xlVeryHidden
> End Sub

> Ce n'est pas absolument incontournable, mais il faut une certaine
> connaissance de VBA pour le faire.
> Tu peux aussi d finir la zone autoris e une fois et enregistrer le
> classeur. Il faut aussi mettre un mot de passe sur le projet VBA. L
> non plus, ce n'est pas s r 100%, comme tout ce qui est s curit dans
> Excel
> Daniel- Masquer le texte des messages précédents -

> - Afficher le texte des messages précédents -

Bonjour,

Je teste tout cela ce soir et je te tiens au courant !
en tout cas, mille merci de ton aide.

Amicalement

Philippe- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour les amis,
Pour rappel :
Private Sub Workbook_Open()
Sheets("Feuil1").ScrollArea = "a1:m100"
End Sub

Ce code me convient parfaitement. Mais dans mon projet j'aurai voulu
par le biais de la saisie d'un mot de passe rendre à nouveau possible
l'accès à toutes les cellules. Est ce que cela vous parait jouable ??
Etant un éternel neophyte en matiere de VBA, n'hesitez pas à detailler
votre réponse s'il en exciste une.
Un grand merci par avance pour votre travail.
Amicalement,
Philippe
Avatar
DanielCo
Mets la macro suivante dans le module de la feuille. Tu remarqueras que
le mot de passe saisi apparaît en clair. Il est possible de l'éviter
mais cela complique la procédure. La macro se déclenche quand tu double
clique sur A1 :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target.Address <> "$A$1" Then Exit Sub
Dim Rep As String
Do While Rep = ""
Rep = InputBox("Mot de passe")
If Rep = "mdp" Then ActiveSheet.ScrollArea = ""
Loop
Cancel = True
End Sub

Daniel

On 14 juin, 15:28, Calou wrote:
On 14 juin, 15:22, DanielCo wrote:





On 14 juin, 14:42, DanielCo wrote:
Bonjoour,
Mets cette macro (en changeant le nom de la feuille) dans le module
ThisWorkbook :







Private Sub Workbook_Open()
Sheets("Feuil1").ScrollArea = "a1:m100"
End Sub







Daniel







Bonjour les amis,









J'ai un tableau excel et je voudrais qu'on ne puisse pas acceder aux
cellules au del d'une certaine colonne et d'une certaine ligne (soit
par les fleches directrices soit par l'ascenseur. Est ce possible par
le biais d'une macro ?









Un grand merci vous par avance.









Cordialement,









Philippe- Masquer le texte des messages pr c dents -


- Afficher le texte des messages pr c dents -


Bonjour,





C'est extra ! a peine pos e la question que j'ai deja la r ponse !
Je suis d sol de ne pas y avoir pens plus tot mais il y a t il un
moyen pour d v rouill cette macro l'aide d'un mot de passe par
exemple ?





Merci encore pour vos r ponses aussi rapides qu'efficaces !
Amicalement,





Philippe





Non, c'est le probl me avec les macros, il faut que l'utilisateur
accepte d'activer les macros. Le moyen de contourner, c'est de masquer
la feuille et de l'afficher par macro. donc, si les macros ne sont pas
activ es, seule Feuil2 est affich e avec un message invitant activer
les macros :



Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil1").Visible = xlVeryHidden
Sheets("Feuil2").Visible = True
End Sub



Private Sub Workbook_Open()
Sheets("Feuil1").ScrollArea = "a1:M100"
Sheets("Feuil1").Visible = True
Sheets("Feuil2").Visible = xlVeryHidden
End Sub



Ce n'est pas absolument incontournable, mais il faut une certaine
connaissance de VBA pour le faire.
Tu peux aussi d finir la zone autoris e une fois et enregistrer le
classeur. Il faut aussi mettre un mot de passe sur le projet VBA. L
non plus, ce n'est pas s r 100%, comme tout ce qui est s curit dans
Excel
Daniel- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -



Bonjour,

Je teste tout cela ce soir et je te tiens au courant !
en tout cas, mille merci de ton aide.

Amicalement

Philippe- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour les amis,
Pour rappel :
Private Sub Workbook_Open()
Sheets("Feuil1").ScrollArea = "a1:m100"
End Sub

Ce code me convient parfaitement. Mais dans mon projet j'aurai voulu
par le biais de la saisie d'un mot de passe rendre à nouveau possible
l'accès à toutes les cellules. Est ce que cela vous parait jouable ??
Etant un éternel neophyte en matiere de VBA, n'hesitez pas à detailler
votre réponse s'il en exciste une.
Un grand merci par avance pour votre travail.
Amicalement,
Philippe
Avatar
Calou
On 21 juin, 14:04, DanielCo wrote:
Mets la macro suivante dans le module de la feuille. Tu remarqueras que
le mot de passe saisi apparaît en clair. Il est possible de l'éviter
mais cela complique la procédure. La macro se déclenche quand tu doub le
clique sur A1 :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target.Address <> "$A$1" Then Exit Sub
Dim Rep As String
Do While Rep = ""
    Rep = InputBox("Mot de passe")
    If Rep = "mdp" Then ActiveSheet.ScrollArea = ""
Loop
Cancel = True
End Sub

Daniel



> On 14 juin, 15:28, Calou wrote:
>> On 14 juin, 15:22, DanielCo wrote:

>>>> On 14 juin, 14:42, DanielCo wrote:
>>>>> Bonjoour,
>>>>> Mets cette macro (en changeant le nom de la feuille) dans le module
>>>>> ThisWorkbook :

>>>>> Private Sub Workbook_Open()
>>>>> Sheets("Feuil1").ScrollArea = "a1:m100"
>>>>> End Sub

>>>>> Daniel

>>>>>> Bonjour les amis,

>>>>>> J'ai un tableau excel et je voudrais qu'on ne puisse pas acceder a ux
>>>>>> cellules au del d'une certaine colonne et d'une certaine ligne (so it
>>>>>> par les fleches directrices soit par l'ascenseur. Est ce possible par
>>>>>> le biais d'une macro ?

>>>>>> Un grand merci vous par avance.

>>>>>> Cordialement,

>>>>>> Philippe- Masquer le texte des messages pr c dents -
>>>>> - Afficher le texte des messages pr c dents -
>>>> Bonjour,

>>>> C'est extra ! a peine pos e la question que j'ai deja la r ponse !
>>>> Je suis d sol de ne pas y avoir pens plus tot mais il y a t il un
>>>> moyen pour d v rouill cette macro l'aide d'un mot de passe par
>>>> exemple ?

>>>> Merci encore pour vos r ponses aussi rapides qu'efficaces !
>>>> Amicalement,

>>>> Philippe

>>> Non, c'est le probl me avec les macros, il faut que l'utilisateur
>>> accepte d'activer les macros. Le moyen de contourner, c'est de masque r
>>> la feuille et de l'afficher par macro. donc, si les macros ne sont pa s
>>> activ es, seule Feuil2 est affich e avec un message invitant activer
>>> les macros :

>>> Private Sub Workbook_BeforeClose(Cancel As Boolean)
>>> Sheets("Feuil1").Visible = xlVeryHidden
>>> Sheets("Feuil2").Visible = True
>>> End Sub

>>> Private Sub Workbook_Open()
>>> Sheets("Feuil1").ScrollArea = "a1:M100"
>>> Sheets("Feuil1").Visible = True
>>> Sheets("Feuil2").Visible = xlVeryHidden
>>> End Sub

>>> Ce n'est pas absolument incontournable, mais il faut une certaine
>>> connaissance de VBA pour le faire.
>>> Tu peux aussi d finir la zone autoris e une fois et enregistrer le
>>> classeur. Il faut aussi mettre un mot de passe sur le projet VBA. L
>>> non plus, ce n'est pas s r 100%, comme tout ce qui est s curit dans
>>> Excel
>>> Daniel- Masquer le texte des messages précédents -
>>> - Afficher le texte des messages précédents -

>> Bonjour,

>> Je teste tout cela ce soir et je te tiens au courant !
>> en tout cas, mille merci de ton aide.

>> Amicalement

>> Philippe- Masquer le texte des messages précédents -

>> - Afficher le texte des messages précédents -

> Bonjour les amis,
> Pour rappel :
> Private Sub Workbook_Open()
> Sheets("Feuil1").ScrollArea = "a1:m100"
> End Sub

> Ce code me convient parfaitement. Mais dans mon projet j'aurai voulu
> par le biais de la saisie d'un mot de passe rendre à nouveau possible
> l'accès à toutes les cellules. Est ce que cela vous parait jouable ??
> Etant un éternel neophyte en matiere de VBA, n'hesitez pas à detail ler
> votre réponse s'il en exciste une.
> Un grand merci par avance pour votre travail.
> Amicalement,
> Philippe- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour Daniel,

1000 mercis pour ton travail ! c'est exactement ce que je
recherchais !
vraiment trop fort !!

Bonne fin de journée.

Amicalement

Philippe