Bloquer lignes entête
Le
Mathieu

Bonjour,
Je travaille sur un fichier partagé sur lequel j'ai la maîtrise propri=
étaire.
Je paramètre en mise en page pour impression de répéter sur chaque im=
pression $1:$9
Mon problème : des collègues vont constamment se mêler de la mise en =
page (alors qu'ils n'ont rien à y faire et aucune impression à faire, j=
e suis seul à imprimer les documents émanants de mon fichier) et je sou=
haiterai pouvoir bloquer définitivement deux choses qui ont le don d'agac=
er quand on doit les reparamétrer en permanence (nous sommes une 50ène =
à renseigner le fichier Excel en question et difficile de rappeler à l'=
ordre tout le monde pour un ou deux collègues indélicats).
Comment dois-je faire pour :
1° Empêcher tout le monde sauf moi de masquer des lignes ?
2° Empêcher tout le monde sauf moi de modifier la mise en page et les l=
ignes à répéter sur chaque page imprimée ?
Avec tous mes remerciements par avance,
Mathieu
Je travaille sur un fichier partagé sur lequel j'ai la maîtrise propri=
étaire.
Je paramètre en mise en page pour impression de répéter sur chaque im=
pression $1:$9
Mon problème : des collègues vont constamment se mêler de la mise en =
page (alors qu'ils n'ont rien à y faire et aucune impression à faire, j=
e suis seul à imprimer les documents émanants de mon fichier) et je sou=
haiterai pouvoir bloquer définitivement deux choses qui ont le don d'agac=
er quand on doit les reparamétrer en permanence (nous sommes une 50ène =
à renseigner le fichier Excel en question et difficile de rappeler à l'=
ordre tout le monde pour un ou deux collègues indélicats).
Comment dois-je faire pour :
1° Empêcher tout le monde sauf moi de masquer des lignes ?
2° Empêcher tout le monde sauf moi de modifier la mise en page et les l=
ignes à répéter sur chaque page imprimée ?
Avec tous mes remerciements par avance,
Mathieu
1- Enleve le mode partagé
2-Format de cellules Déverouille toutes les Cellules où les autres ont le droit de saisir
3-Supposons qu'il s'agisse de la feuille de CodeName Feuil3 dont tu veux le s titres 1:9 Mets le code cité plus bas dans le thisworkbook
4-Protège la feuille voulue
5-Remets le mode partagé
'Ce code dans le thisworkbook
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
If .CodeName = "Feuil3" Then 'a adapter à la feuille voulue
With .PageSetup
.PrintTitleRows = "$1:$9"
.PrintTitleColumns = ""
End With
End If
End With
End Sub
'LSteph
Le lundi 22 juillet 2013 13:15:09 UTC+2, Mathieu a écrit :
Mon fichier comportant 4 onglets nommés "Feuil1", "Feuil2", "Feuil3", et "Feuil4".
Comment ajouter les autres noms d'onglets dans la procédure workbook ? ap rès :
if .CodeName ="Feuil3"
Merci de ta réponse,
Mathieu
A défaut de LSteph que je salue au passage.
S'il n'y a pas d'autres restrictions sur les feuilles,
tu peux supprimer la ligne if.... et le endif correspondant.
--
Salutations
JJ
"Mathieu"
Bonjour et merci LSteph !!
Mon fichier comportant 4 onglets nommés "Feuil1", "Feuil2", "Feuil3", et "Feuil4".
Comment ajouter les autres noms d'onglets dans la procédure workbook ? après :
if .CodeName ="Feuil3"
Merci de ta réponse,
Mathieu
Mathieu
Concernant le même fichier partagé et possédant 6 onglets, pourriez-v ous me dire comment bloquer la possibilité d'agrandir ou rétrécir les colonnes ?
Avec tous mes remerciements anticipés,
Mathieu
Il n'existe pas une option dans Excel qui te permet de bloquer
l'élargissement des colonnes. Cependant, on peut rendre la
tâche difficile aux petits malins...
Voici un fichier exemple http://cjoint.com/?CJypZFmjEXD
Le code est dans le ThisWorkbook du projetVBA du fichier.
Essaie de changer et de conserver des largeurs de colonnes différentes
de celles déjà existantes dans la feuil1 et 2. La feuil3 n'est pas touchée
par le programme ce qui te permet de modifier les largeurs de colonnes
à volonté.
J'ai pris pour acquis que le fichier ne comportait pas d'objets comme
(graphes)
textbox... si oui, il faudra adapter quelque peu, car dans le code j'utilise
l'objet
"Selection" qui désigne l'objet (plage de cellules, graphe....etc.)
sélectionné dans
la feuille active. Le petit programme risque de ne pas aimer cela. ;-))
MichD
---------------------------------------------------------------
Sur cette ligne de code : For Each Col In Rg.Columns
J'ai omis le Rg dans Rg.columns
Tu dois corriger! Les risques du copier-coller! ;-))
'------------------------------------------
Private Sub Workbook_Deactivate()
Dim A As Long
If Not Rg Is Nothing Then
For Each Col In Rg.Columns '<<<====== A = A + 1
Col.ColumnWidth = T(A)
Next
End If
Set Rg = Nothing
End Sub
'-------------------------------------------
MichD
---------------------------------------------------------------
"MichD" a écrit dans le message de groupe de discussion :
l4b92a$46m$
Bonjour,
Il n'existe pas une option dans Excel qui te permet de bloquer
l'élargissement des colonnes. Cependant, on peut rendre la
tâche difficile aux petits malins...
Voici un fichier exemple http://cjoint.com/?CJypZFmjEXD
Le code est dans le ThisWorkbook du projetVBA du fichier.
Essaie de changer et de conserver des largeurs de colonnes différentes
de celles déjà existantes dans la feuil1 et 2. La feuil3 n'est pas touchée
par le programme ce qui te permet de modifier les largeurs de colonnes
à volonté.
J'ai pris pour acquis que le fichier ne comportait pas d'objets comme
(graphes)
textbox... si oui, il faudra adapter quelque peu, car dans le code j'utilise
l'objet
"Selection" qui désigne l'objet (plage de cellules, graphe....etc.)
sélectionné dans
la feuille active. Le petit programme risque de ne pas aimer cela. ;-))
MichD
---------------------------------------------------------------
;-))
MichD
---------------------------------------------------------------
...et je souscris pleinement, on est jamais si bien servi!
Amicales Salutations.
--
LSteph
Le vendredi 25 octobre 2013 11:53:06 UTC+2, MichD a écrit :