IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E]lister les actions


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Par défaut [VBA-E]lister les actions
    Bonjour,

    je voudrais lister toutes les actions de mon workbook_beforeClose
    dans un listview,comment faire




    merci

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Crée une form dans VBA et met y un listbox.
    Sur l'évènemen before close tu charge la form contenant les choix

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Par défaut
    merci, j'ai essayé comme tu m'as dit mais sans succès


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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>
    je voudrais que mon listbox affiche par exemple et ce quand l'évenement(worbook_beforeclose) le fait

    frmBackup.Show
    frmBackup.lstBackup.List (Workbook_BeforeClose)

    If hIcon Then SetClassLongA hwnd, -14, hIcon

    SplashScreen.Activate



    Merci,une idée

  4. #4
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Par défaut
    j'ai essayé ton code

    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)
    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

  6. #6
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Je ne l'ai pas testé c'est du live lol je vais aller voir ce que ca dit lol

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Ok?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Dans le code de la form tu mets ca :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Et dans Worbook

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Par défaut
    merci Pierre et vesta

    le code de pierre est plus visuel


    encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VBA WEB : lister les attributs d'un object
    Par magfred03 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/01/2014, 15h29
  2. [AC-2002] lister les actions d'une macro en vba
    Par shagun dans le forum VBA Access
    Réponses: 4
    Dernier message: 30/07/2009, 20h13
  3. [VBA] lister les fichiers contenus dans un .ZIP
    Par DJBORIE dans le forum VBA Access
    Réponses: 5
    Dernier message: 10/04/2007, 18h49
  4. [VBA-O] Lister les dossiers dans 'boite de récéption'
    Par Elstak dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 14/08/2006, 12h27
  5. [VBA-E] Lister les arguments d'une fonction
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/02/2006, 13h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo