Bonjour à toutes et à tous,

Il m'arrive quelque chose d'assez mystérieux, je vous le soumets !
Après ouverture de mon classeur, j'exécute le code suivant pour "nettoyer" certaines cellules:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
Sub ReinitialiserTout()
ActiveSheet.Unprotect ("test")
 
With Range("A6:G21")
    .UnMerge
    .ClearContents
    .Interior.ThemeColor = xlThemeColorDark1
End With
 
ActiveSheet.Protect Password:="test", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Une erreur 400 apparaît, au niveau de ".UnMerge" (ou ".ClearContents" si je mets Unmerge en commentaire).
Maintenant, si je lance ensuite la macro suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Sub genererLignesDonnees()
Worksheets(3).Protect Password:="test", UserInterfaceOnly:=True
 
Call ReinitialiserTout
 
[...]
 
End Sub
Je n'ai plus d'erreur associée à l'exécution de ReinitialiserTout!
Enfin, si je continue à utiliser mon classeur et que je reviens "plus tard" lancer ReinitialiserTout, ça fonctionne impec'...

Pourquoi donc cette erreur après ouverture du classeur, au lancement de la macro ?

Si vous avez un avis, je suis preneur
Merci d'avance !