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

XL 2013 erreur 1004 définie par l'application ou par l'objet

Jojo973

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous.

j'ai une macro qui fonctionne très bien (d'ailleurs merci aux exceldownloaders pour leur contribution et aide !) mais dès que je protège la feuille, elle bogue, et me donne le message :
"erreur 1004 définie par l'application ou par l'objet"
Voici la capture d'écran de l'endroit où sa plante :


Voici le code complet :
Code:
Private Sub worksheet_activate()
    Call Avis
End Sub
Sub Avis()
    Dim i As Long
    Application.ScreenUpdating = False
    For i = Cells(Rows.Count, "K").End(xlUp).Row To 40 Step -1
        If IsNumeric(Range("K" & i)) Then
            Select Case Range("K" & i)
            Case 0
                Range("K" & i).Offset(, 2) = ""
            Case 0.1 To 0.2499
                Range("K" & i).Offset(, 2) = "Notion non acquise!"
            Case 0.25 To 0.3999
                Range("K" & i).Offset(, 2) = "Résultats très moyens !"
            Case 0.4 To 0.5999
                Range("K" & i).Offset(, 2) = "Résultats moyens ! "
            Case 0.6 To 0.7999
                Range("K" & i).Offset(, 2) = "C'est bien !"
            Case 0.8 To 1
                Range("K" & i).Offset(, 2) = "C'est très bien !"
            End Select
        End If
    Next
    Application.ScreenUpdating = True
End Sub

Je n'ai pas d'idées pour savoir le pourquoi de ce plantage, merci de votre aide (j'ai déjà essayé de décocher les cases de verrouillage des cases cibles concernées ainsi que cocher certaines options lors de la protection de la feuille).
 

Pierrot93

XLDnaute Barbatruc
Re : erreur 1004 définie par l'application ou par l'objet

Bonjour,

déprotége et reprotége la feuille :
Code:
Private Sub worksheet_activate()
Me.Unprotect "MotDePasse"    
Call Avis
Me.protect "MotDePasse"  
End Sub

bon après midi
@+
 

Pierrot93

XLDnaute Barbatruc
Re : erreur 1004 définie par l'application ou par l'objet

Re,

autre solution, pour que le code vba s'execute sur feuille protégée, il faut que la protection soit effectuée par le code en utilisant l'argument "userinterfaceonly", code ci-dessous à placer dans le module "thisworkbook, s'execute à l'ouverture du classeur :

Code:
Option Explicit
Private Sub Workbook_Open()
Feuil1.Protect "motdepasse", userinterfaceonly:=True
End Sub
 

Discussions similaires

Réponses
4
Affichages
433
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…