Erreur 1004 - Application.undo
Bonjour à tous,
Je me permets de vous contacter car débutant en macro, je n'arrive pas à résoudre mon problème.
J'arrive généralement à trouver des problèmes similaires sur le forum et à m'en "sortir" mais là, je n'y arrive pas.
Voilà mon problème :
Dans mon fichier ci-joint, j'ai créé une boucle pour mettre automatiquement en page mon fichier mais je souhaiterais également pouvoir verrouiller une ligne si la première cellule de cette ligne est égale à 1 (et ceux pour les 427 lignes de mon fichier).
Et c'est là que cela pose problème, le code application.undo remonte en erreur et je n'arrive pas à résoudre mon problème.
J'ai l'impression que cela vient de la boucle car auparavant, cela marchait bien.
Une âme charitable pourrait-elle m'aider svp ?
Merci d'avance pour votre aide et retour,
Bonne journée,
Tchampe
Bonjour à tous,
Personne pour m'aider du coup ? Je me permets déjà de relancer car d'habitude, sur ce forum, les forumeurs sont hyper réactifs.
Je copie le code de mon fichier ci-dessus, si ça permet d'avoir une meilleure visibilité de mon code qui ne fonctionne pas.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Pl(427) As Range
Dim ligne As Integer
If Not Application.Intersect(Target, Range("F7")) Is Nothing Then
'********* Appel de la Macro *****************
Call Mise_en_page_feuille_caisse
End If
If Range("B1").Value <> 1 Then
Exit Sub
End If
Dim Libelle As Range
Set Libelle = Intersect(Target, Range("E10:E427,G10:H427,AA10:AB427,AK10:AK427,AM10:AM427,E10:BL10,BO10:BO10"))
If Not Libelle Is Nothing Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
MsgBox "Non exécuté, " & Libelle.Address & " protégée"
End If
For ligne = 12 To 427
If Cells(ligne, 65) = "ok" Then
Shapes("Maforme" & ligne).Visible = True
End If
If Cells(ligne, 65) <> "ok" Then
Shapes("Maforme" & ligne).Visible = False
End If
If Cells(ligne, 1) = 1 Then
If Not Intersect(Target, Range(Cells(ligne, 6), Cells(ligne, 64))) Is Nothing Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
MsgBox "Cellule bloquée"
End If
End If
Next
End Sub