erreur d'execution 1004 lors de la protection

olivierd

XLDnaute Junior
bonjour à tous,

j'utilise le code VBA de G.Mourmant ci-dessous dans VBAPoject/Microsoft Excel Objet/mafeuille/mon onglet:

Il permet d'activer une abscisse et une ordonnée à partir de la cellule sélectionnée. Cela marche parfaitement SAUF si je protège ma feuille ( dans ce cas j'ai une ereeur d'exécution 1004)

Auriez-vous une astuce pour me permettre d'utiliser cette fonction tout en protégeant ma feuille ?

Très cordioalement

Olivierd
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
' Macro créée par G.Mourmant le 01/09/2001
' Site web : [url]www.polykromy.com[/url]
' Copyright Gaetan Mourmant

'*** Définition des variables ***
h = ActiveCell.Height
w2 = ActiveCell.Width
t = ActiveCell.Top
w = ActiveCell.Left

'Teste si les rectangles existent déjà.
On Error Resume Next
ActiveSheet.Shapes('RectangleV').Delete
On Error Resume Next
ActiveSheet.Shapes('RectangleH').Delete
On Error GoTo 0

'Ajoute les rectangles
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 0, t, w, h).Name = 'RectangleV'
With ActiveSheet.Shapes('RectangleV')
    .Fill.Visible = msoFalse
    .Fill.Transparency = 0#
    .Line.Weight = 2#
    .Line.ForeColor.SchemeColor = 30
    .ControlFormat.PrintObject = False
End With

ActiveSheet.Shapes.AddShape(msoShapeRectangle, w, 0, w2, t).Name = 'RectangleH'

With ActiveSheet.Shapes('RectangleH')
    .Fill.Visible = msoFalse
    .Fill.Transparency = 0#
    .Line.Weight = 2#
    .Line.ForeColor.SchemeColor = 30
    .ControlFormat.PrintObject = False
End With
End Sub
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Tu as peut-être 2 astuces

1 - tu protèges tu feuille en userinterface only et là ta macro devrait tourner même avec ta feuille protégée

2 - tu déprotèges ta feuille et début de macro et tu la reprotèges en fin de macro

Bon courage
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 097
Membres
103 116
dernier inscrit
kutobi87