Bonjour,
dans un classeur j'ai plusieurs feuilles dont une nommée "SC" et une autre nommée "metric". La feuille "SC", dès qu'elle est sélectionnée, fait apparaitre un UserForm. La feuille "metric" sert pour synthétiser les données pour un tableau de bord. Pour cela les données sont traitées avec une macro. La macro allant chercher les données dans "SC" j'ai mis en place une variable 'macrobloc' boolean. Si elle a la valeur true alors lors de l'activation de "SC" le UserForm ne s'affiche pas.
Tout fonctionnait bien durant plusieurs mois et depuis hier:
_ soit j'ai droit au message "erreur de compilation. Nom ambigüe détecté" lorsque je vire "Public macrobloc as boolean";
_ soit 'macrobloc' prend la bonne la bonne valeur dans ma macro de tableau de bord mais dès que la feuille "SC" est selectionné ma variable n'est pas prise en compte.

pour la feuille "SC" j'ai cela comme code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
'Option Explicit
Public macrobloc As Boolean
 
Private Sub Worksheet_Activate()
If macrobloc = True Then
    Exit Sub
End If
On Error Resume Next
Sheets("SupplyChain").Select
Selection.End(xlUp).Select
ActiveSheet.ShowAllData
FormRecherche.Show
End Sub
et dans la macro pour le tableau de bord, dans le module "certif" j'ai cela:
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
Option Explicit
Public macrobloc As Boolean
 
 
Sub metrix_certif()
' macro pour préparer les données afin de faire un metric sur les certificats disponibles par client
 
' déclaration
 
' nettoyage de la feuille
Sheets("metrix certif").Select
Cells.Select
Selection.Delete Shift:=xlUp
 
' on bloque l userform
macrobloc = True
 
' suppression des filtre sur la feuille SupplyChain si besoin
On Error Resume Next
Sheets("SupplyChain").Select
...
...
Au niveau des Variables Locales je vois bien 'macrobloc' qui passe à True puis lors de la sélection de "SC" la variable n'existe plus.

A quel niveau ai-je fais une boulette s'il vous plait?
Merci pour votre aide.