En recherchant dans les archives, j'ai trouvé une procédure postée par
Benead, à mettre dans le ThisWorkBook de mon fichier pour empêcher la
suppression de lignes, et je n'arrive pas à la modifier pour aussi empêcher
leur insertion.
Je me doute qu'il ne doit pas y avoir beaucoup à changer, mais ça beugue à
chaque fois.
Application.CommandBars(1).Controls("Edition").Controls("Supprimer...").Enabled = True
Application.OnKey "^{-}"
Application.OnKey "^{109}"
End Sub
Et est-ce possible de la modifier de façon à ce qu'elle n'empêche
l'insertion et la suppression uniquement pour le fichier dans lequel elle est
insérée? (car là, tant que mon fichier est ouvert, elle me bloque aussi les
autres).
Merci beaucoup!
--
géjoun
dam-mail2006@ifrance.com
/Enlever l''année pour m''écrire.../
Placer le code dans un module et appeler le code dans les propriétés Activate et Deactivate des feuilles du classeur.
JB
ThierryP
Bonjour géjoun,
Pour limiter l'action à ce seul fichier, tu dois mettre ton code dans le workbook_activate, et l'exact contraire de ton code dans le workbook_deactivate
Bonjour,
En recherchant dans les archives, j'ai trouvé une procédure postée par Benead, à mettre dans le ThisWorkBook de mon fichier pour empêcher la suppression de lignes, et je n'arrive pas à la modifier pour aussi empêcher leur insertion. Je me doute qu'il ne doit pas y avoir beaucoup à changer, mais ça beugue à chaque fois.
Application.CommandBars(1).Controls("Edition").Controls("Supprimer...").Enabled = True Application.OnKey "^{-}" Application.OnKey "^{109}" End Sub
Et est-ce possible de la modifier de façon à ce qu'elle n'empêche l'insertion et la suppression uniquement pour le fichier dans lequel elle est insérée? (car là, tant que mon fichier est ouvert, elle me bloque aussi les autres).
Merci beaucoup!
-- @+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
Bonjour géjoun,
Pour limiter l'action à ce seul fichier, tu dois mettre ton code dans le
workbook_activate, et l'exact contraire de ton code dans le
workbook_deactivate
Bonjour,
En recherchant dans les archives, j'ai trouvé une procédure postée par
Benead, à mettre dans le ThisWorkBook de mon fichier pour empêcher la
suppression de lignes, et je n'arrive pas à la modifier pour aussi empêcher
leur insertion.
Je me doute qu'il ne doit pas y avoir beaucoup à changer, mais ça beugue à
chaque fois.
Application.CommandBars(1).Controls("Edition").Controls("Supprimer...").Enabled = True
Application.OnKey "^{-}"
Application.OnKey "^{109}"
End Sub
Et est-ce possible de la modifier de façon à ce qu'elle n'empêche
l'insertion et la suppression uniquement pour le fichier dans lequel elle est
insérée? (car là, tant que mon fichier est ouvert, elle me bloque aussi les
autres).
Merci beaucoup!
--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline
Pour limiter l'action à ce seul fichier, tu dois mettre ton code dans le workbook_activate, et l'exact contraire de ton code dans le workbook_deactivate
Bonjour,
En recherchant dans les archives, j'ai trouvé une procédure postée par Benead, à mettre dans le ThisWorkBook de mon fichier pour empêcher la suppression de lignes, et je n'arrive pas à la modifier pour aussi empêcher leur insertion. Je me doute qu'il ne doit pas y avoir beaucoup à changer, mais ça beugue à chaque fois.
Application.CommandBars(1).Controls("Edition").Controls("Supprimer...").Enabled = True Application.OnKey "^{-}" Application.OnKey "^{109}" End Sub
Et est-ce possible de la modifier de façon à ce qu'elle n'empêche l'insertion et la suppression uniquement pour le fichier dans lequel elle est insérée? (car là, tant que mon fichier est ouvert, elle me bloque aussi les autres).
Merci beaucoup!
-- @+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
géjoun
Bonjour,
Peux-tu être un peu plus détaillé, parce que coller le code dans un module, je sais faire, mais aprés, je comprend pas comment "appeler" le code dasn les propriétés.
Merci!
-- géjoun
/Enlever l''année pour m''écrire.../
Bonjour,
Placer le code dans un module et appeler le code dans les propriétés Activate et Deactivate des feuilles du classeur.
JB
Bonjour,
Peux-tu être un peu plus détaillé, parce que coller le code dans un module,
je sais faire, mais aprés, je comprend pas comment "appeler" le code dasn les
propriétés.
Merci!
--
géjoun
dam-mail2006@ifrance.com
/Enlever l''année pour m''écrire.../
Bonjour,
Placer le code dans un module et appeler le code dans les propriétés
Activate et Deactivate des feuilles du classeur.
Peux-tu être un peu plus détaillé, parce que coller le code dans un module, je sais faire, mais aprés, je comprend pas comment "appeler" le code dasn les propriétés.
Merci!
-- géjoun
/Enlever l''année pour m''écrire.../
Bonjour,
Placer le code dans un module et appeler le code dans les propriétés Activate et Deactivate des feuilles du classeur.
JB
géjoun
Bonjour,
Je pense avoir compris! :-) J'ai modifié mon code que j'ai dasn ThisWorkBook en:
Option Explicit Sub Workbook_Activate() Application.CommandBars("Row").Controls("Supprimer...").Enabled = False Application.CommandBars("Cell").Controls("Supprimer...").Enabled = False
Application.CommandBars(1).Controls("Edition").Controls("Supprimer...").Enabled = True Application.OnKey "^{-}" Application.OnKey "^{109}" End Sub
et effectivement, ça me permet si j'ouvre un autre fichier, de bien avoir toutes mes fonctions.
Par contre, dans le fichier ou je souhaite interdire la suppression et l'insertion, j'ai encore les fonctions "insertion" (lorsque je fais un clic droit sur l'en-tête d'une ligne ou colonnes, ou en pasant par le menu INSERTION) et "insérer"(lors d'un clic droit dasn une cellule) qui sont actifs.
Que rajouter comme code pour aussi désactiver ces 2 focntions?
Merci!
-- géjoun
/Enlever l''année pour m''écrire.../
Bonjour géjoun,
Pour limiter l'action à ce seul fichier, tu dois mettre ton code dans le workbook_activate, et l'exact contraire de ton code dans le workbook_deactivate -- @+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
Bonjour,
Je pense avoir compris! :-)
J'ai modifié mon code que j'ai dasn ThisWorkBook en:
Option Explicit
Sub Workbook_Activate()
Application.CommandBars("Row").Controls("Supprimer...").Enabled = False
Application.CommandBars("Cell").Controls("Supprimer...").Enabled = False
Application.CommandBars(1).Controls("Edition").Controls("Supprimer...").Enabled = True
Application.OnKey "^{-}"
Application.OnKey "^{109}"
End Sub
et effectivement, ça me permet si j'ouvre un autre fichier, de bien avoir
toutes mes fonctions.
Par contre, dans le fichier ou je souhaite interdire la suppression et
l'insertion, j'ai encore les fonctions "insertion" (lorsque je fais un clic
droit sur l'en-tête d'une ligne ou colonnes, ou en pasant par le menu
INSERTION) et "insérer"(lors d'un clic droit dasn une cellule) qui sont
actifs.
Que rajouter comme code pour aussi désactiver ces 2 focntions?
Merci!
--
géjoun
dam-mail2006@ifrance.com
/Enlever l''année pour m''écrire.../
Bonjour géjoun,
Pour limiter l'action à ce seul fichier, tu dois mettre ton code dans le
workbook_activate, et l'exact contraire de ton code dans le
workbook_deactivate
--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline
Application.CommandBars(1).Controls("Edition").Controls("Supprimer...").Enabled = True Application.OnKey "^{-}" Application.OnKey "^{109}" End Sub
et effectivement, ça me permet si j'ouvre un autre fichier, de bien avoir toutes mes fonctions.
Par contre, dans le fichier ou je souhaite interdire la suppression et l'insertion, j'ai encore les fonctions "insertion" (lorsque je fais un clic droit sur l'en-tête d'une ligne ou colonnes, ou en pasant par le menu INSERTION) et "insérer"(lors d'un clic droit dasn une cellule) qui sont actifs.
Que rajouter comme code pour aussi désactiver ces 2 focntions?
Merci!
-- géjoun
/Enlever l''année pour m''écrire.../
Bonjour géjoun,
Pour limiter l'action à ce seul fichier, tu dois mettre ton code dans le workbook_activate, et l'exact contraire de ton code dans le workbook_deactivate -- @+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
géjoun
Répondu trop vite... Pour ça, j'ai trouvé!
Mais par pour désactiver INSERTION. :-(
-- géjoun
/Enlever l''année pour m''écrire.../
Bonjour,
Peux-tu être un peu plus détaillé, parce que coller le code dans un module, je sais faire, mais aprés, je comprend pas comment "appeler" le code dasn les propriétés.
Merci!
Répondu trop vite...
Pour ça, j'ai trouvé!
Mais par pour désactiver INSERTION. :-(
--
géjoun
dam-mail2006@ifrance.com
/Enlever l''année pour m''écrire.../
Bonjour,
Peux-tu être un peu plus détaillé, parce que coller le code dans un module,
je sais faire, mais aprés, je comprend pas comment "appeler" le code dasn les
propriétés.
Peux-tu être un peu plus détaillé, parce que coller le code dans un module, je sais faire, mais aprés, je comprend pas comment "appeler" le code dasn les propriétés.
Merci pour ton exemple, mais existe-t'il une différence entre mettre directement la macro dans ThisWorkBook, ou mettre comme dans ton exemple un code qui renvoie vers la macro qui se trouve dans un module (si j'ai bien compris...)?
Et malgré tout mes essais, je n'arrive toujours pas à faire de même pour désactiver INSERTION...
Merci!
-- géjoun
/Enlever l''année pour m''écrire.../
Voir PJ
http://cjoint.com/?dDoJfRrNVX
JB
Re,
Merci pour ton exemple, mais existe-t'il une différence entre mettre
directement la macro dans ThisWorkBook, ou mettre comme dans ton exemple un
code qui renvoie vers la macro qui se trouve dans un module (si j'ai bien
compris...)?
Et malgré tout mes essais, je n'arrive toujours pas à faire de même pour
désactiver INSERTION...
Merci!
--
géjoun
dam-mail2006@ifrance.com
/Enlever l''année pour m''écrire.../
Merci pour ton exemple, mais existe-t'il une différence entre mettre directement la macro dans ThisWorkBook, ou mettre comme dans ton exemple un code qui renvoie vers la macro qui se trouve dans un module (si j'ai bien compris...)?
Et malgré tout mes essais, je n'arrive toujours pas à faire de même pour désactiver INSERTION...
Merci!
-- géjoun
/Enlever l''année pour m''écrire.../
Voir PJ
http://cjoint.com/?dDoJfRrNVX
JB
JB
-Il n'y a pas de différence. J'avais le code mis dans un module pour pouvoir appeler les procédures avec d'autres événements éventuellement. -Sur le fichier que j'ai mis en PJ (Excel2003), on n'a pas accés à la commande Insertion/Lignes
JB
-Il n'y a pas de différence.
J'avais le code mis dans un module pour pouvoir appeler les procédures
avec d'autres événements éventuellement.
-Sur le fichier que j'ai mis en PJ (Excel2003), on n'a pas accés à la
commande Insertion/Lignes
-Il n'y a pas de différence. J'avais le code mis dans un module pour pouvoir appeler les procédures avec d'autres événements éventuellement. -Sur le fichier que j'ai mis en PJ (Excel2003), on n'a pas accés à la commande Insertion/Lignes
JB
géjoun
Re,
OK pour la précision entre le module et le classeur; par contre, pour ce qui est de désactiver la commande INSERTION, je ne suis pas sur que ça fonctionne vraiment sur ton fichier, car lors d'un clic droit, la commande est toujours active, comme elle est aussi active dans le menu insertion. Ou alors, j'ai pas suivi comment il faut faire... -- géjoun
/Enlever l''année pour m''écrire.../
-Il n'y a pas de différence. J'avais le code mis dans un module pour pouvoir appeler les procédures avec d'autres événements éventuellement. -Sur le fichier que j'ai mis en PJ (Excel2003), on n'a pas accés à la commande Insertion/Lignes
Re,
OK pour la précision entre le module et le classeur; par contre, pour ce qui
est de désactiver la commande INSERTION, je ne suis pas sur que ça fonctionne
vraiment sur ton fichier, car lors d'un clic droit, la commande est toujours
active, comme elle est aussi active dans le menu insertion.
Ou alors, j'ai pas suivi comment il faut faire...
--
géjoun
dam-mail2006@ifrance.com
/Enlever l''année pour m''écrire.../
-Il n'y a pas de différence.
J'avais le code mis dans un module pour pouvoir appeler les procédures
avec d'autres événements éventuellement.
-Sur le fichier que j'ai mis en PJ (Excel2003), on n'a pas accés à la
commande Insertion/Lignes
OK pour la précision entre le module et le classeur; par contre, pour ce qui est de désactiver la commande INSERTION, je ne suis pas sur que ça fonctionne vraiment sur ton fichier, car lors d'un clic droit, la commande est toujours active, comme elle est aussi active dans le menu insertion. Ou alors, j'ai pas suivi comment il faut faire... -- géjoun
/Enlever l''année pour m''écrire.../
-Il n'y a pas de différence. J'avais le code mis dans un module pour pouvoir appeler les procédures avec d'autres événements éventuellement. -Sur le fichier que j'ai mis en PJ (Excel2003), on n'a pas accés à la commande Insertion/Lignes
JB
Je viens de tester à nouveau:
http://cjoint.com/?dDrrMm1XCz
Private Sub Workbook_Activate() EmpecheSup End Sub
Private Sub Workbook_Deactivate() RetablitSup End Sub
Sub EmpecheSup() Application.CommandBars("Row").Controls("Supprimer...").Enabled = False Application.CommandBars("Cell").Controls("Supprimer...").Enabled = False