Bonjour à tous,

Je suis nouveau sur le forum, je m'auto évaluerais à un niveau de débutant confirmé et bien que j'ai toujours su me débrouiller avec l'aide fournie à d'autre personnes. Il y a quelque chose qui m'échappe totalement.
Je suis en MOA dans une banque privée et on m'a demandé de faire une macro permettant de simuler un "générateur de notification" je m'explique :
Avec deux intervenants(A et B), si dans le tableau, A décide de remplir une nouvelle ligne et attend une confirmation de B, cependant B oublie. 2h plus tard un message interrompt l'utilisateur pour lui rappeler que la vérification par B n'a pas eu lieu.

Pour cela j'ai pensé de créer un système basé sur un classeur qui s'ouvre à la fermeture du fichier, puis ce nouveau classeur devient invisible pour grâce à un timer venir rapidement ouvrir le fichier puis lui afficher un message d'erreur si jamais la case n'a pas été cochée (la vérif)

Mon majeur problème est le suivant :
Ma boucle before close s'ouvre deux fois, j'obtient bien le classeur qui se camoufle avec le nom et le path du fichier à vérifier mais il y a deux exécution de la macro "before_close" malgré tous les forums que j'ai parcouru (Cancel = True ou Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If BeforeClose = True Then Cancel = True), j'utilise probablement mal ces formules mais je n'ai pas trouvé solution à ma problème actuellement.

Ensuite je me fie à votre experience et votre expertise pour evaluer la viabilité de mon projet. Si vous auriez des recommendation ou éventuellement des conseils de codage dans mon code n'hésitez pas à m'en faire part. Merci d'avance aux personnes qui m'accorderont de leur temps !!

Voici mon code !

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
32
33
34
35
36
37
38
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 
Dim Nom_fichier As String
Dim Path_fichier As String
 
Dim Path_Source As String
Dim Nom_Auto As String
Dim Chemin As String
MsgBox "lol"
Nom_fichier = ThisWorkbook.Name
Path_fichier = ThisWorkbook.Path
Tempo_Dossier = Path_fichier & "\" & "Tempo"
 
If Dir(Tempo_Dossier, vbSystem + vbDirectory + vbHidden) = "" Then
MkDir Tempo_Dossier
End If
 
tempo_fichier = Tempo_Dossier & "\" & Nom_fichier
 
Windows(Nom_fichier).Activate
ActiveWorkbook.SaveCopyAs Filename:=tempo_fichier
'FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
 
 
 
Path_Source = "C:\Users\ut2da4\Desktop\Dossier Perso\MO Titres\Macro dateHeure\Dossier Test MacroAuto\AutoOpen.xlsm"
Workbooks.Open Path_Source
 
Nom_Auto = Dir(Path_Source)
Nom_Auto = Left(Nom_Auto, InStrRev(Nom_Auto, ".") - 1)
lol = InStrRev(Nom_Auto, ".")
'MsgBox lol
'MsgBox Nom_auto
Workbooks(Nom_Auto).Activate
 
Path_fichier = "C:\Users\ut2da4\Desktop\Dossier Perso\MO Titres\Macro dateHeure\Dossier Test MacroAuto\" & Nom_fichier
'MsgBox Path_fichier
Range("A1").Value = "C:\Users\ut2da4\Desktop\Dossier Perso\MO Titres\Macro dateHeure\" & Nom_fichier
Je vais continuer à chercher sur des forums la solution à mon problème