OVH Cloud OVH Cloud

Copie de cellules protégées sous Excel

12 réponses
Avatar
js
Si vous prot=E9gez une cellule sous Excel, puis vous masquez=20
la colonne qui contient la cellule pour =E9viter qu'elle=20
soit visible, il est toujours possible de copier la=20
cellule dans un autre classeur en l'englobant dans une=20
s=E9lection. Ceci est possible m=EAme si vous prot=E9gez le=20
classeur.
Je cherche une m=E9thode qui me permette de contourner le=20
probl=E8me
Merci

10 réponses

1 2
Avatar
Michel HOLDERITH
Salut
trouve sur http://www.excelabo.net/xl/protection.php#desactiverraccourcis :

Est-il possible de désactiver tous les raccourcis clavier ?
Sub Désactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I), ""
Next I
Next K
End Sub

Sub
Réactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I)
Next I
Next K
End Sub

Ca ne désactive "que" les raccourcis utilisant une touche
alphanumérique.Laurent Longre

ensuite tu peux mettre un evenement du click de droite
Cancel = True

et voila tu ne peux pu rien faire sur ta feuille.
@+
Michel.


"js" wrote in message
news:0abb01c39d48$7f39dad0$
Si vous protégez une cellule sous Excel, puis vous masquez
la colonne qui contient la cellule pour éviter qu'elle
soit visible, il est toujours possible de copier la
cellule dans un autre classeur en l'englobant dans une
sélection. Ceci est possible même si vous protégez le
classeur.
Je cherche une méthode qui me permette de contourner le
problème
Merci
Avatar
Frédéric Sigonneau
Bonsoir,

Une possibilité (dans le module ThisWorkbook du classeur à protéger) :

Private Sub Workbook_Deactivate()
Application.CutCopyMode = False
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Si vous protégez une cellule sous Excel, puis vous masquez
la colonne qui contient la cellule pour éviter qu'elle
soit visible, il est toujours possible de copier la
cellule dans un autre classeur en l'englobant dans une
sélection. Ceci est possible même si vous protégez le
classeur.
Je cherche une méthode qui me permette de contourner le
problème
Merci


Avatar
Je connais déjà une méthode pour ne rien selectionner sur
une feuille :
Sheets(i).EnableSelection = xlNoSelection
Mais le problème est que les utilisateur du
classeur drevront modifier une partie des
cellules visibles et non protégées.
En clair dans les colonnes masquées j'ai des données qu'ils
ne doivant pas pouvoir consulter.
Malheuresement ces colonnes peuvent être copiées dans un
nouveau classeur en les englobant dans une selection.

Merci

-----Message d'origine-----
Salut
trouve sur
http://www.excelabo.net/xl/protection.php#desactiverraccour

cis :

Est-il possible de désactiver tous les raccourcis
clavier ?

Sub Désactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I), ""
Next I
Next K
End Sub

Sub
Réactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I)
Next I
Next K
End Sub

Ca ne désactive "que" les raccourcis utilisant une touche
alphanumérique.Laurent Longre

ensuite tu peux mettre un evenement du click de droite
Cancel = True

et voila tu ne peux pu rien faire sur ta feuille.
@+
Michel.


"js" wrote in message
news:0abb01c39d48$7f39dad0$
Si vous protégez une cellule sous Excel, puis vous masquez
la colonne qui contient la cellule pour éviter qu'elle
soit visible, il est toujours possible de copier la
cellule dans un autre classeur en l'englobant dans une
sélection. Ceci est possible même si vous protégez le
classeur.
Je cherche une méthode qui me permette de contourner le
problème
Merci


.



Avatar
Michel HOLDERITH
Pour ma part je suis sur un projet similaire et j'ai affecte un evenement
double click et la ca me deprotege ma feuille et apres tout changement de ma
feuille via un enter cela me reprotege ma feuille....

wrote in message
news:070601c39df2$7e7a8130$
Je connais déjà une méthode pour ne rien selectionner sur
une feuille :
Sheets(i).EnableSelection = xlNoSelection
Mais le problème est que les utilisateur du
classeur drevront modifier une partie des
cellules visibles et non protégées.
En clair dans les colonnes masquées j'ai des données qu'ils
ne doivant pas pouvoir consulter.
Malheuresement ces colonnes peuvent être copiées dans un
nouveau classeur en les englobant dans une selection.

Merci

-----Message d'origine-----
Salut
trouve sur
http://www.excelabo.net/xl/protection.php#desactiverraccour

cis :

Est-il possible de désactiver tous les raccourcis
clavier ?

Sub Désactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I), ""
Next I
Next K
End Sub

Sub
Réactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I)
Next I
Next K
End Sub

Ca ne désactive "que" les raccourcis utilisant une touche
alphanumérique.Laurent Longre

ensuite tu peux mettre un evenement du click de droite
Cancel = True

et voila tu ne peux pu rien faire sur ta feuille.
@+
Michel.


"js" wrote in message
news:0abb01c39d48$7f39dad0$
Si vous protégez une cellule sous Excel, puis vous masquez
la colonne qui contient la cellule pour éviter qu'elle
soit visible, il est toujours possible de copier la
cellule dans un autre classeur en l'englobant dans une
sélection. Ceci est possible même si vous protégez le
classeur.
Je cherche une méthode qui me permette de contourner le
problème
Merci


.



Avatar
Très interessé de tester ta solution du Event.

Je n'utilise pas la gestion des évenement.

STP un petit exemple sur un Event OnClick ?
Merci,

AUtre question : si l'utilisateur n'active pas les Macros,
comment tu contourne le problème ?
A+

-----Message d'origine-----
Pour ma part je suis sur un projet similaire et j'ai
affecte un evenement

double click et la ca me deprotege ma feuille et apres
tout changement de ma

feuille via un enter cela me reprotege ma feuille....

wrote in message
news:070601c39df2$7e7a8130$
Je connais déjà une méthode pour ne rien selectionner sur
une feuille :
Sheets(i).EnableSelection = xlNoSelection
Mais le problème est que les utilisateur du
classeur drevront modifier une partie des
cellules visibles et non protégées.
En clair dans les colonnes masquées j'ai des données
qu'ils

ne doivant pas pouvoir consulter.
Malheuresement ces colonnes peuvent être copiées dans un
nouveau classeur en les englobant dans une selection.

Merci

-----Message d'origine-----
Salut
trouve sur
http://www.excelabo.net/xl/protection.php#desactiverraccou

r

cis :

Est-il possible de désactiver tous les raccourcis
clavier ?

Sub Désactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I), ""
Next I
Next K
End Sub

Sub
Réactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I)
Next I
Next K
End Sub

Ca ne désactive "que" les raccourcis utilisant une
touche


alphanumérique.Laurent Longre

ensuite tu peux mettre un evenement du click de droite
Cancel = True

et voila tu ne peux pu rien faire sur ta feuille.
@+
Michel.


"js" wrote in message
news:0abb01c39d48$7f39dad0$
Si vous protégez une cellule sous Excel, puis vous
masquez


la colonne qui contient la cellule pour éviter qu'elle
soit visible, il est toujours possible de copier la
cellule dans un autre classeur en l'englobant dans une
sélection. Ceci est possible même si vous protégez le
classeur.
Je cherche une méthode qui me permette de contourner le
problème
Merci


.




.




Avatar
Michel HOLDERITH
Salut,
un exemple a mettre dans une feuille(pas dans une macro)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
ActiveSheet.Unprotect
If ActiveCell.Column = 1 Then
If ActiveCell.Row = 9 Or ActiveCell.Row = 11 Or ActiveCell.Row = 13 Or
ActiveCell.Row = 15 Or ActiveCell.Row = 17 Or ActiveCell.Row = 19 Or
ActiveCell.Row = 21 Or ActiveCell.Row = 23 Or ActiveCell.Row = 25 Or
ActiveCell.Row = 27 Or ActiveCell.Row = 29 Or ActiveCell.Row = 31 Then
If ActiveCell.Value = "" Then
If Range("A9").Value = "" Then
If Range("A11").Value = "" Then
If Range("A13").Value = "" Then
If Range("A15").Value = "" Then
If Range("A17").Value = "" Then
If Range("A19").Value = "" Then
If Range("A21").Value = "" Then
If Range("A23").Value = "" Then
If Range("A25").Value = "" Then
If Range("A27").Value = "" Then
If Range("A29").Value = "" Then
If Range("A31").Value = ""
Then
Selection.Locked = True
Selection.FormulaHidden True
With Selection.Font
.Name = "Wingdings"
.Size = 10
.Bold = True
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline xlUnderlineStyleNone
.ColorIndex xlAutomatic
End With
With Selection
.HorizontalAlignment xlCenter
.VerticalAlignment xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
ActiveCell.Value = "û"
Cancel = True
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Selection.ClearContents
Cancel = True
End If
Else
Cancel = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Exit Sub
End If
Else
Cancel = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Exit Sub
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

cette exmple met une croix soit en a9,a11,a13....a31. l'utilisateur ne
pourra rien faire d'autre.
ca deprotege et reprotege la feuille.
la macro s'active toute seul, d'ou lavantage.... l'utilisateur n'a rien a
choisir.... il double clicke juste dans une des cases pre-etablit et si ce
n'est pas la bonne... pas grave puisque tu l'as prevus....
@+
Michel.

wrote in message
news:0bbe01c39e05$5a498aa0$
Très interessé de tester ta solution du Event.

Je n'utilise pas la gestion des évenement.

STP un petit exemple sur un Event OnClick ?
Merci,

AUtre question : si l'utilisateur n'active pas les Macros,
comment tu contourne le problème ?
A+

-----Message d'origine-----
Pour ma part je suis sur un projet similaire et j'ai
affecte un evenement

double click et la ca me deprotege ma feuille et apres
tout changement de ma

feuille via un enter cela me reprotege ma feuille....

wrote in message
news:070601c39df2$7e7a8130$
Je connais déjà une méthode pour ne rien selectionner sur
une feuille :
Sheets(i).EnableSelection = xlNoSelection
Mais le problème est que les utilisateur du
classeur drevront modifier une partie des
cellules visibles et non protégées.
En clair dans les colonnes masquées j'ai des données
qu'ils

ne doivant pas pouvoir consulter.
Malheuresement ces colonnes peuvent être copiées dans un
nouveau classeur en les englobant dans une selection.

Merci

-----Message d'origine-----
Salut
trouve sur
http://www.excelabo.net/xl/protection.php#desactiverraccou

r

cis :

Est-il possible de désactiver tous les raccourcis
clavier ?

Sub Désactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I), ""
Next I
Next K
End Sub

Sub
Réactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I)
Next I
Next K
End Sub

Ca ne désactive "que" les raccourcis utilisant une
touche


alphanumérique.Laurent Longre

ensuite tu peux mettre un evenement du click de droite
Cancel = True

et voila tu ne peux pu rien faire sur ta feuille.
@+
Michel.


"js" wrote in message
news:0abb01c39d48$7f39dad0$
Si vous protégez une cellule sous Excel, puis vous
masquez


la colonne qui contient la cellule pour éviter qu'elle
soit visible, il est toujours possible de copier la
cellule dans un autre classeur en l'englobant dans une
sélection. Ceci est possible même si vous protégez le
classeur.
Je cherche une méthode qui me permette de contourner le
problème
Merci


.




.




Avatar
Merci je vais tester

A+ Joseph

-----Message d'origine-----
Salut,
un exemple a mettre dans une feuille(pas dans une macro)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As
Range, Cancel As

Boolean)
ActiveSheet.Unprotect
If ActiveCell.Column = 1 Then
If ActiveCell.Row = 9 Or ActiveCell.Row = 11 Or
ActiveCell.Row = 13 Or

ActiveCell.Row = 15 Or ActiveCell.Row = 17 Or
ActiveCell.Row = 19 Or

ActiveCell.Row = 21 Or ActiveCell.Row = 23 Or
ActiveCell.Row = 25 Or

ActiveCell.Row = 27 Or ActiveCell.Row = 29 Or
ActiveCell.Row = 31 Then

If ActiveCell.Value = "" Then
If Range("A9").Value = "" Then
If Range("A11").Value = "" Then
If Range("A13").Value = "" Then
If Range("A15").Value = "" Then
If Range("A17").Value = "" Then
If Range("A19").Value = "" Then
If Range("A21").Value = ""
Then

If Range("A23").Value
= "" Then

If Range("A25").Value
= "" Then

If Range
("A27").Value = "" Then

If Range
("A29").Value = "" Then

If Range
("A31").Value = ""

Then

Selection.Locked = True


Selection.FormulaHidden =

True
With
Selection.Font

.Name
= "Wingdings"

.Size
= 10

.Bold
= True

.Strik
ethrough = False

.Super
script = False

.Subsc
ript = False

.Outli
neFont = False

.Shado
w = False

.Under
line =

xlUnderlineStyleNone
.Color
Index =

xlAutomatic
End With
With
Selection

.Horiz
ontalAlignment =

xlCenter
.Verti
calAlignment =

xlCenter
.WrapT
ext = False

.Orien
tation = 0

.AddIn
dent = False

.Shrin
kToFit = False

.Merge
Cells = False

End With

ActiveCell.Value = "û"

Cancel =
True

Else
Cancel =
True

End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Selection.ClearContents
Cancel = True
End If
Else
Cancel = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True

Exit Sub
End If
Else
Cancel = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True

Exit Sub
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True

End Sub

cette exmple met une croix soit en a9,a11,a13....a31.
l'utilisateur ne

pourra rien faire d'autre.
ca deprotege et reprotege la feuille.
la macro s'active toute seul, d'ou lavantage....
l'utilisateur n'a rien a

choisir.... il double clicke juste dans une des cases pre-
etablit et si ce

n'est pas la bonne... pas grave puisque tu l'as prevus....
@+
Michel.

wrote in message
news:0bbe01c39e05$5a498aa0$
Très interessé de tester ta solution du Event.

Je n'utilise pas la gestion des évenement.

STP un petit exemple sur un Event OnClick ?
Merci,

AUtre question : si l'utilisateur n'active pas les Macros,
comment tu contourne le problème ?
A+

-----Message d'origine-----
Pour ma part je suis sur un projet similaire et j'ai
affecte un evenement

double click et la ca me deprotege ma feuille et apres
tout changement de ma

feuille via un enter cela me reprotege ma feuille....

wrote in message
news:070601c39df2$7e7a8130$
Je connais déjà une méthode pour ne rien selectionner sur
une feuille :
Sheets(i).EnableSelection = xlNoSelection
Mais le problème est que les utilisateur du
classeur drevront modifier une partie des
cellules visibles et non protégées.
En clair dans les colonnes masquées j'ai des données
qu'ils

ne doivant pas pouvoir consulter.
Malheuresement ces colonnes peuvent être copiées dans un
nouveau classeur en les englobant dans une selection.

Merci

-----Message d'origine-----
Salut
trouve sur
http://www.excelabo.net/xl/protection.php#desactiverracco

u


r
cis :

Est-il possible de désactiver tous les raccourcis
clavier ?

Sub Désactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I), ""
Next I
Next K
End Sub

Sub
Réactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I)
Next I
Next K
End Sub

Ca ne désactive "que" les raccourcis utilisant une
touche


alphanumérique.Laurent Longre

ensuite tu peux mettre un evenement du click de droite
Cancel = True

et voila tu ne peux pu rien faire sur ta feuille.
@+
Michel.


"js" wrote in message
news:0abb01c39d48$7f39dad0$
Si vous protégez une cellule sous Excel, puis vous
masquez


la colonne qui contient la cellule pour éviter qu'elle
soit visible, il est toujours possible de copier la
cellule dans un autre classeur en l'englobant dans une
sélection. Ceci est possible même si vous protégez le
classeur.
Je cherche une méthode qui me permette de contourner le
problème
Merci


.




.




.





Avatar
Resalut,

Je me suis inspiré de ta solution pour trouver une parade
à mon problème.

J’ai fais plus simple j’ai désactivé les options de copies
des menus Excel ;
dans mon cas le classeur et les cellules qui ne sont pas
modifiables sont
déjà protégées :

Voici le code dans WorkBook

Private Sub WorkBook_Open()
If ActiveSheet.Name = "Titi" Then
Application.CommandBars("Edit").Controls
(3).Enabled = False
Application.CommandBars("Edit").Controls
(4).Enabled = False
Application.CommandBars("Edit").Controls
(5).Enabled = False
Application.CommandBars("Edit").Controls
(6).Enabled = False
Application.CommandBars("Edit").Controls
(7).Enabled = False
Application.CommandBars("View").Controls
(3).Enabled = False
End If
End Sub


Private Sub Workbook_SheetActivate(ByVal NomFeuille As
Object)
If NomFeuille.Name = "Titi" Then
Application.CommandBars("Edit").Controls
(3).Enabled = False
Application.CommandBars("Edit").Controls
(4).Enabled = False
Application.CommandBars("Edit").Controls
(5).Enabled = False
Application.CommandBars("Edit").Controls
(6).Enabled = False
Application.CommandBars("Edit").Controls
(7).Enabled = False
Application.CommandBars("View").Controls
(3).Enabled = False
Else
Application.CommandBars("Edit").Controls
(3).Enabled = True
Application.CommandBars("Edit").Controls
(4).Enabled = True
Application.CommandBars("Edit").Controls
(5).Enabled = True
Application.CommandBars("Edit").Controls
(6).Enabled = True
Application.CommandBars("Edit").Controls
(7).Enabled = True
Application.CommandBars("View").Controls
(3).Enabled = True
End If
End Sub


Private Sub WorkBook_BeforeSAve(ByVal SaveAsUi As Boolean,
Calcel As Boolean)
Application.CommandBars("Edit").Controls
(3).Enabled = True
Application.CommandBars("Edit").Controls
(4).Enabled = True
Application.CommandBars("Edit").Controls
(5).Enabled = True
Application.CommandBars("Edit").Controls
(6).Enabled = True
Application.CommandBars("Edit").Controls
(7).Enabled = True
Application.CommandBars("View").Controls
(3).Enabled = True
End Sub

Voici le code dans WorkSheet

Private Sub Worksheet_BeforeRightClick(ByVal Target As
Range, Cancel As Boolean)
Cancel = True
End Sub

J’ai bien mis le code au niveau du classeur dans VB et pas
dans un module.
Cela fonctionne très bien.

Petit hic : si j’active l’alerte macro dans le menu
option, je peut ouvrir le classeur
en désactivant les macros et naturellement cela ne
fonctionne plus…

Un conseil ?

Merci pour ton aide,

Joseph Sciretta

-----Message d'origine-----
Merci je vais tester

A+ Joseph

-----Message d'origine-----
Salut,
un exemple a mettre dans une feuille(pas dans une macro)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As
Range, Cancel As

Boolean)
ActiveSheet.Unprotect
If ActiveCell.Column = 1 Then
If ActiveCell.Row = 9 Or ActiveCell.Row = 11 Or
ActiveCell.Row = 13 Or

ActiveCell.Row = 15 Or ActiveCell.Row = 17 Or
ActiveCell.Row = 19 Or

ActiveCell.Row = 21 Or ActiveCell.Row = 23 Or
ActiveCell.Row = 25 Or

ActiveCell.Row = 27 Or ActiveCell.Row = 29 Or
ActiveCell.Row = 31 Then

If ActiveCell.Value = "" Then
If Range("A9").Value = "" Then
If Range("A11").Value = "" Then
If Range("A13").Value = "" Then
If Range("A15").Value = "" Then
If Range("A17").Value = "" Then
If Range("A19").Value = "" Then
If Range("A21").Value = ""
Then

If Range("A23").Value
= "" Then

If Range
("A25").Value


= "" Then
If Range
("A27").Value = "" Then

If Range
("A29").Value = "" Then

If Range
("A31").Value = ""

Then

Selection.Locked = True


Selection.FormulaHidden =

True
With
Selection.Font

.Name


= "Wingdings"
.Size


= 10
.Bold


= True
.Stri
k


ethrough = False
.Supe
r


script = False
.Subs
c


ript = False
.Outl
i


neFont = False
.Shad
o


w = False
.Unde
r


line =
xlUnderlineStyleNone
.Colo
r


Index =
xlAutomatic
End With
With
Selection

.Hori
z


ontalAlignment =
xlCenter
.Vert
i


calAlignment =
xlCenter
.Wrap
T


ext = False
.Orie
n


tation = 0
.AddI
n


dent = False
.Shri
n


kToFit = False
.Merg
e


Cells = False
End With

ActiveCell.Value = "û"

Cancel =
True

Else
Cancel =
True

End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Selection.ClearContents
Cancel = True
End If
Else
Cancel = True
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True,


Scenarios:=True
Exit Sub
End If
Else
Cancel = True
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True,


Scenarios:=True
Exit Sub
End If
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True,


Scenarios:=True
End Sub

cette exmple met une croix soit en a9,a11,a13....a31.
l'utilisateur ne

pourra rien faire d'autre.
ca deprotege et reprotege la feuille.
la macro s'active toute seul, d'ou lavantage....
l'utilisateur n'a rien a

choisir.... il double clicke juste dans une des cases
pre-


etablit et si ce
n'est pas la bonne... pas grave puisque tu l'as
prevus....


@+
Michel.

wrote in message
news:0bbe01c39e05$5a498aa0$
Très interessé de tester ta solution du Event.

Je n'utilise pas la gestion des évenement.

STP un petit exemple sur un Event OnClick ?
Merci,

AUtre question : si l'utilisateur n'active pas les
Macros,


comment tu contourne le problème ?
A+

-----Message d'origine-----
Pour ma part je suis sur un projet similaire et j'ai
affecte un evenement

double click et la ca me deprotege ma feuille et apres
tout changement de ma

feuille via un enter cela me reprotege ma feuille....

wrote in message
news:070601c39df2$7e7a8130$
Je connais déjà une méthode pour ne rien selectionner
sur



une feuille :
Sheets(i).EnableSelection = xlNoSelection
Mais le problème est que les utilisateur du
classeur drevront modifier une partie des
cellules visibles et non protégées.
En clair dans les colonnes masquées j'ai des données
qu'ils

ne doivant pas pouvoir consulter.
Malheuresement ces colonnes peuvent être copiées dans un
nouveau classeur en les englobant dans une selection.

Merci

-----Message d'origine-----
Salut
trouve sur
http://www.excelabo.net/xl/protection.php#desactiverracc

o



u
r
cis :

Est-il possible de désactiver tous les raccourcis
clavier ?

Sub Désactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I), ""
Next I
Next K
End Sub

Sub
Réactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I)
Next I
Next K
End Sub

Ca ne désactive "que" les raccourcis utilisant une
touche


alphanumérique.Laurent Longre

ensuite tu peux mettre un evenement du click de droite
Cancel = True

et voila tu ne peux pu rien faire sur ta feuille.
@+
Michel.


"js" wrote in message
news:0abb01c39d48$7f39dad0$
Si vous protégez une cellule sous Excel, puis vous
masquez


la colonne qui contient la cellule pour éviter qu'elle
soit visible, il est toujours possible de copier la
cellule dans un autre classeur en l'englobant dans une
sélection. Ceci est possible même si vous protégez le
classeur.
Je cherche une méthode qui me permette de contourner le
problème
Merci


.




.




.

.







Avatar
Resalut,

Je me suis inspiré de ta solution pour trouver une parade
à mon problème.

J’ai fais plus simple j’ai désactivé les options de copies
des menus Excel ;
dans mon cas le classeur et les cellules qui ne sont pas
modifiables sont
déjà protégées :

Voici le code dans WorkBook

Private Sub WorkBook_Open()
If ActiveSheet.Name = "Titi" Then
Application.CommandBars("Edit").Controls
(3).Enabled = False
Application.CommandBars("Edit").Controls
(4).Enabled = False
Application.CommandBars("Edit").Controls
(5).Enabled = False
Application.CommandBars("Edit").Controls
(6).Enabled = False
Application.CommandBars("Edit").Controls
(7).Enabled = False
Application.CommandBars("View").Controls
(3).Enabled = False
End If
End Sub


Private Sub Workbook_SheetActivate(ByVal NomFeuille As
Object)
If NomFeuille.Name = "Titi" Then
Application.CommandBars("Edit").Controls
(3).Enabled = False
Application.CommandBars("Edit").Controls
(4).Enabled = False
Application.CommandBars("Edit").Controls
(5).Enabled = False
Application.CommandBars("Edit").Controls
(6).Enabled = False
Application.CommandBars("Edit").Controls
(7).Enabled = False
Application.CommandBars("View").Controls
(3).Enabled = False
Else
Application.CommandBars("Edit").Controls
(3).Enabled = True
Application.CommandBars("Edit").Controls
(4).Enabled = True
Application.CommandBars("Edit").Controls
(5).Enabled = True
Application.CommandBars("Edit").Controls
(6).Enabled = True
Application.CommandBars("Edit").Controls
(7).Enabled = True
Application.CommandBars("View").Controls
(3).Enabled = True
End If
End Sub


Private Sub WorkBook_BeforeSAve(ByVal SaveAsUi As Boolean,
Calcel As Boolean)
Application.CommandBars("Edit").Controls
(3).Enabled = True
Application.CommandBars("Edit").Controls
(4).Enabled = True
Application.CommandBars("Edit").Controls
(5).Enabled = True
Application.CommandBars("Edit").Controls
(6).Enabled = True
Application.CommandBars("Edit").Controls
(7).Enabled = True
Application.CommandBars("View").Controls
(3).Enabled = True
End Sub

Voici le code dans WorkSheet

Private Sub Worksheet_BeforeRightClick(ByVal Target As
Range, Cancel As Boolean)
Cancel = True
End Sub

J’ai bien mis le code au niveau du classeur dans VB et pas
dans un module.
Cela fonctionne très bien.

Petit hic : si j’active l’alerte macro dans le menu
option, je peut ouvrir le classeur
en désactivant les macros et naturellement cela ne
fonctionne plus…

Un conseil ?

Merci pour ton aide,

Joseph Sciretta

-----Message d'origine-----
Merci je vais tester

A+ Joseph

-----Message d'origine-----
Salut,
un exemple a mettre dans une feuille(pas dans une macro)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As
Range, Cancel As

Boolean)
ActiveSheet.Unprotect
If ActiveCell.Column = 1 Then
If ActiveCell.Row = 9 Or ActiveCell.Row = 11 Or
ActiveCell.Row = 13 Or

ActiveCell.Row = 15 Or ActiveCell.Row = 17 Or
ActiveCell.Row = 19 Or

ActiveCell.Row = 21 Or ActiveCell.Row = 23 Or
ActiveCell.Row = 25 Or

ActiveCell.Row = 27 Or ActiveCell.Row = 29 Or
ActiveCell.Row = 31 Then

If ActiveCell.Value = "" Then
If Range("A9").Value = "" Then
If Range("A11").Value = "" Then
If Range("A13").Value = "" Then
If Range("A15").Value = "" Then
If Range("A17").Value = "" Then
If Range("A19").Value = "" Then
If Range("A21").Value = ""
Then

If Range("A23").Value
= "" Then

If Range
("A25").Value


= "" Then
If Range
("A27").Value = "" Then

If Range
("A29").Value = "" Then

If Range
("A31").Value = ""

Then

Selection.Locked = True


Selection.FormulaHidden =

True
With
Selection.Font

.Name


= "Wingdings"
.Size


= 10
.Bold


= True
.Stri
k


ethrough = False
.Supe
r


script = False
.Subs
c


ript = False
.Outl
i


neFont = False
.Shad
o


w = False
.Unde
r


line =
xlUnderlineStyleNone
.Colo
r


Index =
xlAutomatic
End With
With
Selection

.Hori
z


ontalAlignment =
xlCenter
.Vert
i


calAlignment =
xlCenter
.Wrap
T


ext = False
.Orie
n


tation = 0
.AddI
n


dent = False
.Shri
n


kToFit = False
.Merg
e


Cells = False
End With

ActiveCell.Value = "û"

Cancel =
True

Else
Cancel =
True

End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Selection.ClearContents
Cancel = True
End If
Else
Cancel = True
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True,


Scenarios:=True
Exit Sub
End If
Else
Cancel = True
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True,


Scenarios:=True
Exit Sub
End If
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True,


Scenarios:=True
End Sub

cette exmple met une croix soit en a9,a11,a13....a31.
l'utilisateur ne

pourra rien faire d'autre.
ca deprotege et reprotege la feuille.
la macro s'active toute seul, d'ou lavantage....
l'utilisateur n'a rien a

choisir.... il double clicke juste dans une des cases
pre-


etablit et si ce
n'est pas la bonne... pas grave puisque tu l'as
prevus....


@+
Michel.

wrote in message
news:0bbe01c39e05$5a498aa0$
Très interessé de tester ta solution du Event.

Je n'utilise pas la gestion des évenement.

STP un petit exemple sur un Event OnClick ?
Merci,

AUtre question : si l'utilisateur n'active pas les
Macros,


comment tu contourne le problème ?
A+

-----Message d'origine-----
Pour ma part je suis sur un projet similaire et j'ai
affecte un evenement

double click et la ca me deprotege ma feuille et apres
tout changement de ma

feuille via un enter cela me reprotege ma feuille....

wrote in message
news:070601c39df2$7e7a8130$
Je connais déjà une méthode pour ne rien selectionner
sur



une feuille :
Sheets(i).EnableSelection = xlNoSelection
Mais le problème est que les utilisateur du
classeur drevront modifier une partie des
cellules visibles et non protégées.
En clair dans les colonnes masquées j'ai des données
qu'ils

ne doivant pas pouvoir consulter.
Malheuresement ces colonnes peuvent être copiées dans un
nouveau classeur en les englobant dans une selection.

Merci

-----Message d'origine-----
Salut
trouve sur
http://www.excelabo.net/xl/protection.php#desactiverracc

o



u
r
cis :

Est-il possible de désactiver tous les raccourcis
clavier ?

Sub Désactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I), ""
Next I
Next K
End Sub

Sub
Réactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I)
Next I
Next K
End Sub

Ca ne désactive "que" les raccourcis utilisant une
touche


alphanumérique.Laurent Longre

ensuite tu peux mettre un evenement du click de droite
Cancel = True

et voila tu ne peux pu rien faire sur ta feuille.
@+
Michel.


"js" wrote in message
news:0abb01c39d48$7f39dad0$
Si vous protégez une cellule sous Excel, puis vous
masquez


la colonne qui contient la cellule pour éviter qu'elle
soit visible, il est toujours possible de copier la
cellule dans un autre classeur en l'englobant dans une
sélection. Ceci est possible même si vous protégez le
classeur.
Je cherche une méthode qui me permette de contourner le
problème
Merci


.




.




.

.







Avatar
Michel HOLDERITH
oups.......
effectivement..... d'ailleur ca me fais penser que pour mon projet c'est la
meme chose, une solution vite fait, mais que je vais integrer, c'est de tout
verouiller par mot de passe sheet et workbook (ca j'ai fait) et ensuite de
mettre qu'une seule page visible au debut avec un seul lien vers les autre
pages.Lien qui fonctionne avec une macro qui rendra visible les autres
pages. Ce qui veut dire que si tu n'actives pas les macros tu ne pourras
jamais utiliser les autres feuilles...
Qu'en penses tu ?
@+
Michel.

wrote in message
news:0d2201c39e1d$53dba690$
Resalut,

Je me suis inspiré de ta solution pour trouver une parade
à mon problème.

J’ai fais plus simple j’ai désactivé les options de copies
des menus Excel ;
dans mon cas le classeur et les cellules qui ne sont pas
modifiables sont
déjà protégées :

Voici le code dans WorkBook

Private Sub WorkBook_Open()
If ActiveSheet.Name = "Titi" Then
Application.CommandBars("Edit").Controls
(3).Enabled = False
Application.CommandBars("Edit").Controls
(4).Enabled = False
Application.CommandBars("Edit").Controls
(5).Enabled = False
Application.CommandBars("Edit").Controls
(6).Enabled = False
Application.CommandBars("Edit").Controls
(7).Enabled = False
Application.CommandBars("View").Controls
(3).Enabled = False
End If
End Sub


Private Sub Workbook_SheetActivate(ByVal NomFeuille As
Object)
If NomFeuille.Name = "Titi" Then
Application.CommandBars("Edit").Controls
(3).Enabled = False
Application.CommandBars("Edit").Controls
(4).Enabled = False
Application.CommandBars("Edit").Controls
(5).Enabled = False
Application.CommandBars("Edit").Controls
(6).Enabled = False
Application.CommandBars("Edit").Controls
(7).Enabled = False
Application.CommandBars("View").Controls
(3).Enabled = False
Else
Application.CommandBars("Edit").Controls
(3).Enabled = True
Application.CommandBars("Edit").Controls
(4).Enabled = True
Application.CommandBars("Edit").Controls
(5).Enabled = True
Application.CommandBars("Edit").Controls
(6).Enabled = True
Application.CommandBars("Edit").Controls
(7).Enabled = True
Application.CommandBars("View").Controls
(3).Enabled = True
End If
End Sub


Private Sub WorkBook_BeforeSAve(ByVal SaveAsUi As Boolean,
Calcel As Boolean)
Application.CommandBars("Edit").Controls
(3).Enabled = True
Application.CommandBars("Edit").Controls
(4).Enabled = True
Application.CommandBars("Edit").Controls
(5).Enabled = True
Application.CommandBars("Edit").Controls
(6).Enabled = True
Application.CommandBars("Edit").Controls
(7).Enabled = True
Application.CommandBars("View").Controls
(3).Enabled = True
End Sub

Voici le code dans WorkSheet

Private Sub Worksheet_BeforeRightClick(ByVal Target As
Range, Cancel As Boolean)
Cancel = True
End Sub

J’ai bien mis le code au niveau du classeur dans VB et pas
dans un module.
Cela fonctionne très bien.

Petit hic : si j’active l’alerte macro dans le menu
option, je peut ouvrir le classeur
en désactivant les macros et naturellement cela ne
fonctionne plus…

Un conseil ?

Merci pour ton aide,

Joseph Sciretta

-----Message d'origine-----
Merci je vais tester

A+ Joseph

-----Message d'origine-----
Salut,
un exemple a mettre dans une feuille(pas dans une macro)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As
Range, Cancel As

Boolean)
ActiveSheet.Unprotect
If ActiveCell.Column = 1 Then
If ActiveCell.Row = 9 Or ActiveCell.Row = 11 Or
ActiveCell.Row = 13 Or

ActiveCell.Row = 15 Or ActiveCell.Row = 17 Or
ActiveCell.Row = 19 Or

ActiveCell.Row = 21 Or ActiveCell.Row = 23 Or
ActiveCell.Row = 25 Or

ActiveCell.Row = 27 Or ActiveCell.Row = 29 Or
ActiveCell.Row = 31 Then

If ActiveCell.Value = "" Then
If Range("A9").Value = "" Then
If Range("A11").Value = "" Then
If Range("A13").Value = "" Then
If Range("A15").Value = "" Then
If Range("A17").Value = "" Then
If Range("A19").Value = "" Then
If Range("A21").Value = ""
Then

If Range("A23").Value
= "" Then

If Range
("A25").Value


= "" Then
If Range
("A27").Value = "" Then

If Range
("A29").Value = "" Then

If Range
("A31").Value = ""

Then

Selection.Locked = True


Selection.FormulaHidden >>True

With
Selection.Font

.Name


= "Wingdings"
.Size


= 10
.Bold


= True
.Stri
k


ethrough = False
.Supe
r


script = False
.Subs
c


ript = False
.Outl
i


neFont = False
.Shad
o


w = False
.Unde
r


line >>xlUnderlineStyleNone
.Colo
r


Index >>xlAutomatic
End With
With
Selection

.Hori
z


ontalAlignment >>xlCenter
.Vert
i


calAlignment >>xlCenter
.Wrap
T


ext = False
.Orie
n


tation = 0
.AddI
n


dent = False
.Shri
n


kToFit = False
.Merg
e


Cells = False
End With

ActiveCell.Value = "û"

Cancel >True
Else
Cancel >True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Cancel = True
End If
Else
Selection.ClearContents
Cancel = True
End If
Else
Cancel = True
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True,


Scenarios:=True
Exit Sub
End If
Else
Cancel = True
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True,


Scenarios:=True
Exit Sub
End If
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True,


Scenarios:=True
End Sub

cette exmple met une croix soit en a9,a11,a13....a31.
l'utilisateur ne

pourra rien faire d'autre.
ca deprotege et reprotege la feuille.
la macro s'active toute seul, d'ou lavantage....
l'utilisateur n'a rien a

choisir.... il double clicke juste dans une des cases
pre-


etablit et si ce
n'est pas la bonne... pas grave puisque tu l'as
prevus....


@+
Michel.

wrote in message
news:0bbe01c39e05$5a498aa0$
Très interessé de tester ta solution du Event.

Je n'utilise pas la gestion des évenement.

STP un petit exemple sur un Event OnClick ?
Merci,

AUtre question : si l'utilisateur n'active pas les
Macros,


comment tu contourne le problème ?
A+

-----Message d'origine-----
Pour ma part je suis sur un projet similaire et j'ai
affecte un evenement

double click et la ca me deprotege ma feuille et apres
tout changement de ma

feuille via un enter cela me reprotege ma feuille....

wrote in message
news:070601c39df2$7e7a8130$
Je connais déjà une méthode pour ne rien selectionner
sur



une feuille :
Sheets(i).EnableSelection = xlNoSelection
Mais le problème est que les utilisateur du
classeur drevront modifier une partie des
cellules visibles et non protégées.
En clair dans les colonnes masquées j'ai des données
qu'ils

ne doivant pas pouvoir consulter.
Malheuresement ces colonnes peuvent être copiées dans un
nouveau classeur en les englobant dans une selection.

Merci

-----Message d'origine-----
Salut
trouve sur
http://www.excelabo.net/xl/protection.php#desactiverracc

o



u
r
cis :

Est-il possible de désactiver tous les raccourcis
clavier ?

Sub Désactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I), ""
Next I
Next K
End Sub

Sub
Réactive()
Dim K, I As Integer
On Error Resume Next
For Each K In
Array("^", "%", "+^", "+%", "^%", "+^%")
For I = 32 To 255

Application.OnKey K & Chr$(I)
Next I
Next K
End Sub

Ca ne désactive "que" les raccourcis utilisant une
touche


alphanumérique.Laurent Longre

ensuite tu peux mettre un evenement du click de droite
Cancel = True

et voila tu ne peux pu rien faire sur ta feuille.
@+
Michel.


"js" wrote in message
news:0abb01c39d48$7f39dad0$
Si vous protégez une cellule sous Excel, puis vous
masquez


la colonne qui contient la cellule pour éviter qu'elle
soit visible, il est toujours possible de copier la
cellule dans un autre classeur en l'englobant dans une
sélection. Ceci est possible même si vous protégez le
classeur.
Je cherche une méthode qui me permette de contourner le
problème
Merci


.




.




.

.







1 2