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

8modele-caisse.xlsm (378.80 Ko)

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

Rechercher des sujets similaires à "erreur 1004 application undo"