Bonjour,
je voudrais lister toutes les actions de mon workbook_beforeClose
dans un listview,comment faire
merci
Version imprimable
Bonjour,
je voudrais lister toutes les actions de mon workbook_beforeClose
dans un listview,comment faire
merci
Crée une form dans VBA et met y un listbox.
Sur l'évènemen before close tu charge la form contenant les choix
merci, j'ai essayé comme tu m'as dit mais sans succès
je voudrais que mon listbox affiche par exemple et ce quand l'évenement(worbook_beforeclose) le faitCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <div style="margin-left:40px">Private Sub Workbook_BeforeClose(Cancel As Boolean) frmBackup.Show frmBackup.lstBackup.List (Workbook_BeforeClose) 'restauration d l'icône système If hIcon Then SetClassLongA hwnd, -14, hIcon 'Gestion des erreurs On Error Resume Next Application.CommandBars("Menu").Delete On Error GoTo 0 'Acivation de la feuille splashscreen SplashScreen.Activate </div>
frmBackup.Show
frmBackup.lstBackup.List (Workbook_BeforeClose)
If hIcon Then SetClassLongA hwnd, -14, hIcon
SplashScreen.Activate
Merci,une idée
frmBackup.Show
frmBackup.lstBackup.List (Workbook_BeforeClose)
c'est quoi ca?
Workbook_BeforeClose est une sub qui se lance lors de la fermeture de ton workbook... Les actions qui sont a executer lors de la fermeture c'est toi qui dois les parametrer.
Si tu veux par exemple, lorsqu'on veut fermer ton classeur, tu met une liste de choix :
Enregistrer
fermer sans enregistrer
annuler
etc...
Sinon, tu peux aussi faire ca:
Code:
1
2
3
4
5
6
7 Private Sub Workbook_BeforeClose(Cancel As Boolean) frmBackup.Show frmBackup.lstBackup.additem("Début de sauvegarde...") workbook.save frmBackup.lstBackup.additem("Sauvegarde OK") frmBackup.lstBackup.additem("Fermeture...") Unload frmBackup
j'ai essayé ton code
Code:
1
2
3
4
5
6
7
8
9 Private Sub Workbook_BeforeClose(Cancel As Boolean) frmBackup.Show frmBackup.lstBackup.additem("Début de sauvegarde...") workbook.save frmBackup.lstBackup.additem("Sauvegarde OK") frmBackup.lstBackup.additem("Fermeture...") Unload frmBackup End sub
Il ouvre bien la fenetre frmbackup
il n'ajoute rien dans le lstbackup
on dirait que le programme reste en attente de quelque chose parceque
quand je ferme la fenetre(frmbackup) il continue
sinon c'est bien cela que je voulais
merci pour ta patience
Je ne l'ai pas testé c'est du live lol je vais aller voir ce que ca dit lol
Bonsoir
Avec Excel, une boite de dialogue est modale par défaut. Il faut la rendre non modale pour que l'exécution continue.
De plus, il faut la redessiner après chaque ajout de valeur dans la liste pour afficher la nouvelle ligne.
Dès lors, ton code devient
Ok?Code:
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub Workbook_BeforeClose(Cancel As Boolean) frmbackup.Show False frmbackup.lstbackup.AddItem ("Début de sauvegarde...") frmbackup.Repaint ThisWorkbook.Save frmbackup.lstbackup.AddItem ("Sauvegarde OK") frmbackup.Repaint frmbackup.lstbackup.AddItem ("Fermeture...") frmbackup.Repaint Unload frmbackup End Sub
Dans le code de la form tu mets ca :
Et dans WorbookCode:
1
2
3
4
5
6
7
8
9 Private Sub UserForm_Activate() frmbackup.lstBackup.AddItem ("Début de sauvegarde...") ThisWorkbook.Save frmbackup.lstBackup.AddItem ("Sauvegarde OK") frmbackup.lstBackup.AddItem ("Fermeture...") Unload frmbackup 'Ou alors supprimer cette derniere et mettre un bouton sur la 'fenêtre qui ferme celle-ci End Sub
Code:
1
2
3 Private Sub Workbook_BeforeClose(Cancel As Boolean) frmbackup.Show End Sub
Mais ca va assez vite alors, il faudrait chercher pour faire une petite pause lol enfin je te laisse voir ca...
Ca ne fonctionnait pas car quand il a lancé la form il attend pour faire les autres action, c'est normal. Quan tu la ferme, il exécute la suite... LOL
Alé bonne chance
merci Pierre et vesta
le code de pierre est plus visuel
encore merci