Bonjour à tous
Je rencontre un problème avec la fonction change de Thisworkbook
Remarque liminaire : le fichier qui pose problème existe depuis plusieurs années, il n'a posé aucun problème d'utilisation
jusqu'à sa migration vers un EXCEL 2013 (64 bits) ; à partir de ce moment la centaine d'utilisateurs, s'est vu régulièrement
perdre leur travail, avec une fermeture d'EXCEL sans sauvegarde. Pour des raisons qui me sont propres, la sauvegarde
automatique d'EXCEL DOIT être désactivée
Le fichier est, pour moi assez gros, de 1Mo à 2 Mo, mais minimum 25 onglets, pouvant aller jusqu'à une bonne centaine d'onglets
J'ai donc cherché à mettre dans Thisworkbook le code suivant permettant, je le croyais de réaliser des sauvegardes régulières,
en fait tous les 5 changements, sans que les intéressés aient à se poser de questions, quasiment presque à l'insu de leur plein gré !
Le code est le suivant :
Le code fonctionne parfaitement bien quand EXCEL est déjà ouvert, mais quand EXCEL s'ouvre pour la 1ère fois, au chargement du fichier
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 Dim nbcHANgemeNT As Integer Option Explicit Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range) nbcHANgemeNT = nbcHANgemeNT + 1 If nbcHANgemeNT = 5 Then ActiveWorkbook.Save CreateObject("Wscript.shell").Popup "Sauvegarde effectuée", 1, "Sauvegarde" nbcHANgemeNT = 0 Else: End If End Sub Private Sub Workbook_Open() nbcHANgemeNT = 0 MsgBox " Les programmes de travail ont été regroupés en un seul fichier..." & _ "Bon courage ! " & vbCrLf & vbCrLf & _ " Emmanuel, le 9 février 2018" End Sub
la macro Workbook_SheetChange s'exécute et on voit apparaître le popup de Sauvegarde effectuée, et la seule de façon de calmer les ardeurs
d'EXCEL est d'enfoncer la touche Echap
Je ne m'explique pas pourquoi au chargement de ce fichier la variable n'est pas à zéro, mais en l'occurrence à 5, ou n'arrête pas de calculer des
"changements", de façon à ce que la macro s'exécute ???
Merci de votre aide
Partager