macro dont l'éxécution s’arrête
bonjour j'ai créé une petite macro sous excel qui s’exécute à la fermeture du classeur
Code:
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 |
cette macro affiche un formulaire avec un MonthView sur lequel on choisi une date
voici la macro DemandeNouvDate(Message)
Code:
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 |
pour tester le bon fonctionnement j'ai aussi créé un bouton sur une feuil du classeur.
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 8O
Code:
1 2 3 4
|
Sub ShowIt()
=> UserForm1.Show
End Sub |
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 ?? :cry:
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
1 pièce(s) jointe(s)
Afficher UserForm avant fermeture
Bonjour,
Je me suis appliqué à tester la possibilité d'affichage d'un UserForm avant la fermeture et ça marche cf. exemple.
Excel 2003
...à creuser