Excel VBA - Problème exécution de macro
Résolu/Fermé
mic13710
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
-
1 avril 2010 à 13:13
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 - 1 avril 2010 à 19:07
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 - 1 avril 2010 à 19:07
A voir également:
- Excel VBA - Problème exécution de macro
- Liste déroulante excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule excel - Guide
- Macro word - Guide
- Si et excel - Guide
1 réponse
mic13710
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
354
Modifié par mic13710 le 1/04/2010 à 19:10
Modifié par mic13710 le 1/04/2010 à 19:10
J'ai trouvé finalement,
En fait la macro bloquait non pas au problème n°1 mais au niveau du problème n°2, ce qui provoquait l'erreur 1004 en l'absence de l'instruction On Error Resume Next.
En fait, je ne sélectionnais pas le feuille "Prog" avant d'effectuer les modifs de la feuille, ce qui provoquait l'erreur de range.
La macro pour la feuille prog devient:
Sheets("Prog").Select
ActiveSheet.Unprotect
ActiveSheet.Calculate
Dim ColEndT As Byte
Dim ColEndL As Byte
ColEndT = Range("T170").Value
ColEndL = Range("CX170").Value
Range(Cells(10, 23), Cells(160, ColEndT)).Locked = True
Range(Cells(10, 105), Cells(160, ColEndL)).Locked = True
ActiveSheet.Protect, userInterfaceOnly:=True
Problème résolu
En fait la macro bloquait non pas au problème n°1 mais au niveau du problème n°2, ce qui provoquait l'erreur 1004 en l'absence de l'instruction On Error Resume Next.
En fait, je ne sélectionnais pas le feuille "Prog" avant d'effectuer les modifs de la feuille, ce qui provoquait l'erreur de range.
La macro pour la feuille prog devient:
Sheets("Prog").Select
ActiveSheet.Unprotect
ActiveSheet.Calculate
Dim ColEndT As Byte
Dim ColEndL As Byte
ColEndT = Range("T170").Value
ColEndL = Range("CX170").Value
Range(Cells(10, 23), Cells(160, ColEndT)).Locked = True
Range(Cells(10, 105), Cells(160, ColEndL)).Locked = True
ActiveSheet.Protect, userInterfaceOnly:=True
Problème résolu