Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…