bonjour j'ai créé une petite macro sous excel qui s’exécute à la fermeture du classeur
cette macro affiche un formulaire avec un MonthView sur lequel on choisi une date
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim FermeDate FermeDate = "Il n'y a plus aucune donnée à traiter " & Chr(10) & Chr(10) & " Voulez-vous que la date actuelle : " & ActiveWorkbook.Sheets("TABLES1").Cells(1, 2).Value & " changer au prochain demarrage du fichier ? " DemandeNouvDate (FermeDate) ActiveWorkbook.Sheets("TABLES1").Cells(4, 2).Value = "Vrai" End Sub
voici la macro DemandeNouvDate(Message)
pour tester le bon fonctionnement j'ai aussi créé un bouton sur une feuil du classeur.
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 Function DemandeNouvDate(message) 'demande si on change de journée Select Case MsgBox(message, vbYesNo, "Entrez votre Choix !") Case vbYes Cancel = True ' appel affichage userform UserForm1.ShowIt ActiveWorkbook.Sheets("TABLES1").Cells(3, 2).Value = "Faux" Case vbNo Cancel = False ActiveWorkbook.Sheets("TABLES1").Cells(3, 2).Value = "Vrai" End Select End Function
quand je clique sur le bouton l’exécution se fait sans problème jusqu'au bout mais lorsque j'appel la même fonction par la fermeture du classeur (BeforeClose ) l’exécution ce s’arrête sur la méthode ShowIt() dans la console VISUAL BASIC et je dois appuyer sur F5 pour l'execution reprenne
le bouton et la méthode BeforeClose du classeur font la même chose quelqu'un aurais une idée de la cause du blocage car la moi je ne vois pas ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Sub ShowIt() => UserForm1.Show End Sub
je suis sous excel 2007 mais le classeur est 2003 (xls). mon système d'exploitation est Windows XP professionnel service Pack 3.
merci d'avance
Partager