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 :

Barre de progression [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut Barre de progression
    Bonjour,

    J'aimerais adapter une barre de progression au déroulement de ma macro. J'ai trouvé sur le net, quelque chose qui me convient mais je n'arrive pas à l'intégrer à ma macro.
    Voici le code du USERFORM de la barre de progression :
    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
    Private Sub CommandButton1_Click()    
        Application.ScreenUpdating = False    
        UserForm_demo.Height = 121.5
        compteur = 0
        progression = 0    
        For ligne = 1 To 5000
            For col = 1 To 50        
                compteur = compteur + 1
                Cells(ligne, col) = ligne + col            
                If compteur Mod 2500 = 0 Then '=> sera exécuté 100x                
                    progression = progression + 1
                    Image_barre.Width = progression * 1.5
                    Label_barre.Caption = progression & "%"
                    DoEvents                
                End If            
            Next
        Next    
        Application.ScreenUpdating = True
        UserForm_demo.Height = 136.5    
    End Sub
    et ici le code du module concerné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub ouvrir()
        UserForm_demo.Show
    End Sub
    Ma question est la suivante : Où dois je intercaler ma macro ?

    Cordialement

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Indique la source de ton code parce que la il manque des bouts.
    Il y a juste le code d'un event clic sur un bouton qui lance la progression.

    Donc en gros ça progresse mais tu n'as aucun traitement pendant cette progression.

  3. #3
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Salut,

    à priori, cette procédure est déclenchée par un clic
    sur un bouton du formulaire nommé CommandButton1.
    Elle fait référence à un formulaire nommé UserForm_demo
    Il faut donc adapter le nom du formulaire.
    Cordialement,

  4. #4
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Voici le fichier Excel :barre_de_progression.xls

  5. #5

  6. #6
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Oui j'ai deja vu ce post mais tu ne réponds pas a ma question

  7. #7
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Salut graphikris,

    Ta barre de progression fonctionne nickel!
    et du coup je ne comprend pas ta question!
    (Si tu as toujours une question!)
    Cordialement,

  8. #8
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Dans le fichier joint la barre de progression fonctionne tres bien pour la macro qui crée 2500 chiffres.
    Ma question etait donc : je voudrais utiliser cette barre de progression pour une autre macro. Que dois je supprimer sur celle qui marche actuellement et où dois je mettre ma nouvelle macro ?

  9. #9
    Invité
    Invité(e)
    Par défaut
    Tu n'as pas à adapter ma barre de défilement pour l'intégrer dans ta macro!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
    Dim i As Long
    For i = 0 To 65535
        BarreDefilement.BarreVal i, 65535 'On donne la valeur et le max!
        ActiveSheet.Cells(i + 1, 1).Select
        ActiveSheet.Cells(i + 1, 1) = "Valeur de i:= " & i
     
    Next
    ActiveSheet.Columns("A:A").EntireColumn.AutoFit
    Unload BarreDefilement
    End Sub
    pour integrer le UsF dans ton projet: http://www.developpez.net/forums/d14...o/#post7958039

    une variante implémenté par joe.levrai: http://www.developpez.net/forums/d15...l/#post8210204

  10. #10
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Une solution.

    Autrement, et c'est plus simple, tu peux aussi écrire ta progression
    directement dans la barre de statut avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.StatusBar LaProgression
    Fichiers attachés Fichiers attachés

  11. #11
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Ce n'est pas du tout ce que je veux.

    Actuellement j'ai une macro autre que celle qui est dans l'exemple joint.
    Je voudrais lorsque j'execute cette macro, que la barre de progression du fichier que j'ai joint apparaisse pendant l'execution de ma propre macro.

    Je réitére donc ma question : Que dois effacer du code de la macro que j'ai joint et où dois mettre le code de ma propre macro pour faire apparaître la barre de progression pendant le deroulement de ma macro ?

  12. #12
    Invité
    Invité(e)
    Par défaut
    D'une je n'ai pas la possibilité, de voir le code car mon téléphone portable ne me l'autorise pas, et d'autres par j'ai implémenter ce code pour pouvoir l'utiliser dans n'importe quel macro.

    Désolé si tu cherche un code qu'il te faudra adapté à chaque fois que tu en auras besoin plutôt qu'un code qui fonctionne directement dans tous les cas de figure!

    Qu'il faille adapté le code pour un universalité plus proche de ce que tu cherche Ok. Mais ne me demande pas de renoncer à prodiguer des conseils qui me paraissent pertinents !

  13. #13
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Tu as regardé le fichier joint???
    Le bouton Bouton 5 lance une procédure creer2500Chiffres.
    C'est une sub indépendante(une macro si tu préfères, mais en vba il n'y as pas de macro, il n'y a que des procédures et des fonctions! )
    Et quand tu lances cette sub, elle fait apparaitre ta barre de progression(sans l'ancien bouton, devenu inutile!).

  14. #14
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    je ne comprends rien à ce que vous me dites.

    Vous revenez toujours avec la macro qui crée 2500 chiffres.
    Ce n'st pas ce que je veux.
    Je veux lancer ma propre macro.

  15. #15
    Invité
    Invité(e)
    Par défaut
    Je comprend et c'est bien la où j'assai d'en venir (comment rendre universel la barre de défilement)!

    Mais c'est pas grave je passe la main.

  16. #16
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Alors c'est pas compliqué, il y a 3 étapes.
    Dans ta macro:
    1- lance le formulaire, au moment de ton choix:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserForm_demo.Show False
    2- pendant la progression, met à jour l'affichage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UserForm_demo.Image_barre.Width = progression * 1.5
    UserForm_demo.Label_barre.Caption = progression & "%"
    A toi de calculer la valeur de progression
    3- quand le processus est terminé, ferme le formulaire:

  17. #17
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Rien ne marche. Je laisse tomber.
    Ca me prends trop la tete

  18. #18
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    envoi moi ton classeur!

  19. #19
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Merci c'est gentil mais je ne peux pas.
    il y a du confidentiel et je ne peux pas supprimer les pages concernées car elles ont un lien avec la macro.

  20. #20
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    La vie n'est pas un long fleuve tranquille!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Indy FTP (idFTP) faire une barre de progress de transfert
    Par Harry dans le forum Web & réseau
    Réponses: 4
    Dernier message: 09/07/2004, 13h15
  2. [VB.NET] Pb avec le bouton Annuler d'1 barre de progression
    Par dada1982 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/06/2004, 09h56
  3. Réponses: 12
    Dernier message: 27/05/2004, 00h13
  4. [DEBUTANT] Barre de progression
    Par pupupu dans le forum MFC
    Réponses: 4
    Dernier message: 18/01/2004, 16h47
  5. [web] Barre de Progression ASCII
    Par Red Bull dans le forum Web
    Réponses: 13
    Dernier message: 05/06/2003, 12h56

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