Bonjour,
J'ai deux applications : TOTO ; TITI
Dans l'application TOTO, module standard, j'ai une fonction >>
Dans cette même application, j'ai des onglets nommés "Janvier ; Février ; Mars ; etc.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 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 :
Tout fonctionnait parfaitement depuis des mois, voire plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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
Partager