Autoriser chgt taille police ds feuille protegé

a3lain

XLDnaute Junior
Bonjour,
Est ce qu'il est possible de completer encore les paramètres de protection pour autoriser l'utilisateur à changer la taille de la police des cellules sur une feuille protégée en VBA comme ci-dessous, ou autre solution

Sub Protect_sheet(sht As String)
' Protect_sheet Macro
'
' protection de la feuille active
' Macro recorded 06/09/2005 pour redimmensionner lignes et colonnes par user
If Worksheets(sht).ProtectContents = True Then
Sheets(sht).Protect Password:=pass, UserInterfaceOnly:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingColumns:=True, AllowFormattingRows:=True
Else:
If sht = shpa Or sht = shparm Then
MsgBox 'sheet ' & sht & ' is unprotected, think to reprotect after updates'
End If
End If
End Sub

Merci
 

jeromegmc

XLDnaute Occasionnel
Salut,

Ben, encore toi!!!!

Je n'ai toujours pas accès à Excel, mais je te donne une astuce pour trouver le code qui t'interesse et c'est valable pour de nombreuse application.

L'astuce c'est de faire ce que j'appelle 'une macro manuelle' c'est à dire que tu mets en route l'enregistrement d'une macro, tu fais ce qui t'interresse et tu vas voir le code de ta macro.

Dans ton cas tu mets en route l'enregistrement d'une macro: outils / macro / nouvelle macro

Ensuite tu bloques ta feuile: outils / protection / protéger la feuille et tu coches les options qui t'interesse.

A la fin arrêtes l'enregistrement de ta macro et vas voir le code dans VBA: outils / macro / macro / selectionne ta macro puis / modifier / ou alors va voir directement dans les modules VBA.


Je pense que tu devrais t'en sortir, et de plus, je pense aussi que nous te verrons moins souvent sur le site. Car cette astuce marche souvent même si ce n'est pas la solution miracle: ne marche pas pour tout, donne un code souvent trop long ou complexe.

A+
 

jeromegmc

XLDnaute Occasionnel
Salut a3lian,

Alors tu t'en sorts?


Voici un exemple concernant mes dires, 'la méthode de macro manuelle donne souvent des macro complexes'

Exemple pour affecter une valeur à une cellule, intuitivement on fait:

Code:
range ('A1').value = 'toto'

et avec la 'macro manuelle' on obtient

Code:
Range('A1').Select
ActiveCell.FormulaR1C1 = 'toto'

Code bien plus compliqué et plus long, CQFD

A+

Message édité par: jeromegmc, à: 14/09/2005 16:48
 

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG