VBA message erreur 1404

ripou

XLDnaute Nouveau
Bonjour à tous,

J'ai un problème sur VBA avec excel 2003.
Dans mon fichier, j'ai une trentaine de feuilles qui sont chacune redimensionnées avec les lignes suivantes :


Private Sub Worksheet_Activate()
Range("A1:R1" ).Select
ActiveWindow.Zoom = True
Range("a1" ).Select
ActiveWindow.DisplayVerticalScrollBar = True

Range("B24:I33,L24:p34,B65:F68,L64:p71,B107:M117,B164:M170,B211:Q216,B227:M232,B287:I294,B335:J337,B380:L386" ).Select
With Selection.Font
.Name = "Arial"
.Size = 16

End With
With Selection
.HorizontalAlignment = xlCenter

End With

Range("a1" ).Select

End Sub


Quand je cherche à protéger mon classeur avec la macro qui suit tout va bien si je reste sur ma page d'accueil. En revanche, si je clique sur les macros de navigation d'une feuille à une autre et auxquelles sont rattachées le redimensionnement en police et taille, j'ai le message d'erreur suivant :
"Erreur d'éxecution 1004 : Impossible de définir la propriété Name de la classe font" et le débogage me surligne .Name="Arial" ! Je ne vois pas ce qui coince, help !
Voici la macro de protection :


Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 27/10/2008 par PAPOU
'

rrr = InputBox("donnez le mot de passe svp" )
For Each ss In Application.Sheets


ActiveWindow.DisplayHeadings = False
ss.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=rrr
ss.EnableSelection = xlNoSelection
' ss.Protect

Next

Sheets("Accueil" ).Select

End Sub
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 27/10/2008 par GRYSPEERT, Julien
'

'

rrr = InputBox("donnez le mot de passe svp" )

For Each ss In Application.Sheets


ActiveWindow.DisplayHeadings = False
ss.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False, Password:=rrr
ss.EnableSelection = xlNoSelection
' ss.UnProtect

Next

Sheets("Accueil" ).Select

End Sub


Voilà, j'espère avoir été assez clair, merci d'avance et BONNE ANNEE
Ripou
 

kjin

XLDnaute Barbatruc
Re : VBA message erreur 1404

Bonjour,
Pas sûr d'avoir compris dans la mesure où l'on ne sait pas ce qui déclenche la protection des feuilles
Code:
Private Sub Worksheet_Activate()
[COLOR="Blue"]ActiveSheet.Unprotect[/COLOR]
Range("A1:R1").Select
ActiveWindow.Zoom = True
Range("a1").Select
ActiveWindow.DisplayVerticalScrollBar = True
Range("B24:I33,L24:P34,B65:F68,L64:P71,B107:M117,B164:M170,B211:Q216,B227:M232,B287:I294,B335:J337,B380:L386").Select
With Selection.Font
.Name = "Arial"
.Size = 16
End With
With Selection
.HorizontalAlignment = xlCenter
End With
Range("a1").Select
[COLOR="Blue"]ActiveSheet.Protect[/COLOR]
End Sub
En outre, la procédure pourrait peut-être être intégrée dans le module de ThisWorkbook (Private Sub Workbook_SheetActivate) plutôt que dans la feuille
A+
kjin
 

ripou

XLDnaute Nouveau
Re : VBA message erreur 1404

Merci mais le problème c'est que la protection, je la déclenche avec une macro associé à une image en page d'accueil et toutes les feuilles se protègent en même temps et non indépendamment les unes des autres...

Merci
Ripou
 

Discussions similaires

Statistiques des forums

Discussions
313 865
Messages
2 103 078
Membres
108 521
dernier inscrit
manouba