Interférence entre deux classeurs - problème sur Function
Bonjour,
J'ai deux applications : TOTO ; TITI
Dans l'application TOTO, module standard, j'ai une fonction >>
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Function SheetName()
Dim Mois As String, Dat As Date
Dim AnnéeEnCours As Integer
' If ShuntFct = 1 Then Exit Function
AnnéeEnCours = Sheets("Janvier").[a6]
Application.Volatile
Mois = ActiveSheet.Name
Dat = CDate("01/" & "" & Mois & "" & "/" & AnnéeEnCours)
Select Case Application.Weekday(Dat)
Case 1
SheetName = Dat + 3
Case 2
SheetName = Dat + 2
Case 3
SheetName = Dat + 1
Case 4
SheetName = Dat
Case 5
SheetName = Dat + 1
Case 6
SheetName = Dat
Case 7
SheetName = Dat + 4
End Select
End Function |
Dans cette même application, j'ai des onglets nommés "Janvier ; Février ; Mars ; etc.)
Dans chaque feuille, j'ai des cellules qui me renvoient une date en fonction du mois qui figure dans le nom de la feuille : =SheetName()
A noter (et j'ignore si c'est important dans le cas présent) que le classeur est protégé avec le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Sub Protect()
Dim i As Integer
For i = 1 To Worksheets.Count
With Worksheets(i)
.Protect _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True
.EnableSelection = xlUnlockedCells
End With
Next i
End Sub |
Tout fonctionnait parfaitement depuis des mois, voire plus.
Depuis peu, si on ouvre le classeur "TITI", toutes les cellules du classeur "TOTO" qui contiennent la formule =SheetName() renvoient des erreurs "#".
Si je ferme "TITI", l'erreur persiste dans "TOTO".
Si je ferme "TOTO" et que je le rouvre très rapidement, j'ai le message "TOTO.xlsm est verrouillé pour modification par Utilsateur...". Après deux ou trois essais, le classeur "TOTO" se rouvre mais l'erreur sur les cellules persiste.
J'ai vérifié (sans grande conviction) qu'il n'y avait pas un "Application.EnableEvents = False" sur l'appli "TITI" qui pourrait shunter la Function de "TOTO" ; en vain !
Je ne sais plus par quel bout prendre le problème.
En résumé : Qu'est-ce qui peut bien shunter une Function ? Et dans le cas présent, comment peut-il y avoir une interaction avec un autre classeur (sachant évidemment que ces deux classeurs ne sont (a priori !!) pas liés ?
Un grand merci pour votre aide éventuelle !
Cordialement,
jpma75