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 :

Exécution de la macro de mon bouton trop lente


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 8
    Par défaut Exécution de la macro de mon bouton trop lente
    Bonjour,

    Je cherche un moyen de pour rendre la macro de mon bouton "rechercher" rapide. lorsque je saisie un matricule et que je clique sur mon boutob, l'useform se plante un moment avant que les information de la ligne recherchée ne s"affiche dans mes textbox.
    Ci-dessous le code de mon bouton "Rechercher"
    Merci d'avance.

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Private Sub CommandButton13_Click()
    ' la partie du code qui fait l'ajout
    If Me.ComboBox19.Value <> "" Then
        With Sheets("BD_CENTRALISEE")
            Last1 = .Cells(Rows.Count, "A").End(xlUp).Row
            Set c = .Range("A2:A" & Last1).Find(Me.ComboBox19.Value, LookIn:=xlValues, lookat:=xlWhole)
            If Not c Is Nothing Then
                lig = c.Row 'dans Lig on a la ligne de la donnée trouvée
    Me.ComboBox4.Value = .Range("F" & lig)
    Me.ComboBox2.Value = .Range("I" & lig)
    Me.Textbox1.Value = .Range("E" & lig)
    Me.TextBox6.Value = .Range("G" & lig)
    Me.TextBox7.Value = .Range("H" & lig)
    Me.ComboBox23.Value = .Range("A" & lig)
    Me.ComboBox1.Value = .Range("B" & lig)
    Me.ComboBox13.Value = .Range("L" & lig)
    Me.ComboBox12.Value = .Range("K" & lig)
    Me.ComboBox3.Value = .Range("J" & lig)
    Me.ComboBox7.Value = .Range("D" & lig)
    Me.ComboBox5.Value = .Range("C" & lig)
                        Set c = Nothing
            Else
                MsgBox " Ce..... n'est pas enregistré "
            End If
        End With
    Else
        MsgBox "Renseignez le Matricule à chercher"
    End If
    ComboBox23.Locked = False
    ComboBox1.Locked = False
    ComboBox4.Locked = False
    ComboBox2.Locked = False
    ComboBox3.Locked = False
    ComboBox7.Locked = False
    TextBox6.Locked = False
    ComboBox5.Locked = False
    TextBox7.Locked = False
    ComboBox12.Locked = False
    CommandButton3.Enabled = True
    CommandButton7.Enabled = True
    End Sub

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Je ne vois qu'une raison à la lenteur de cette macro : ce n'est pas la seule macro du classeur !

  3. #3
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Bonjour

    Ta macro ne fait jamais qu'une recherche (et tu le fais de la bonne manière, tu cherches dans une seule colonne) aussi je ne vois pas pourquoi la macro serait lente...

    Si tu fais la recherche manuellement, sans passer par la macro, je présume que ce n'est pas plus rapide en fait.

    Peut-être un fichier Excel vraiment très très lourd ?

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 8
    Par défaut
    Bonjour,
    J'ai un classeur ou j'enregistre des donnés concernant les personnels de plusieurs structures de la Région. Pour modifier certaines informations , je saisie un matricule, puis bouton rechercher. Au départ j'avais 400 employés enregistrés dans mon fichier, dans une feuille unique et je n'avais cette lenteur d’exécution de la macro du bouton rechercher. Mais depuis hier, je suis à plus de 4000 employés et le problème est apparu. Quand je clique sur le bouton recherche, les données mettent du temps avant de s'afficher dans les texbox correspondant, quelque fois on a l'impression que l'usrform est planté Je ne peux mettre mon fichier en pièce à cause de données confidentielles.
    Mon fichier Excel fait 3, 32 Mo

  5. #5
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Un bête CTRL-F (manuel donc) dans ta feuille donne-t-elle le résultat bien plus rapidement qu'au travers de ton userform ? 4.000 records, c'est pas grand chose et la taille du fichier est négligable.

    Peut-être aussi vérifier ton taskmanager pour voir si tu n'aurais pas un ralentissement de ton pc à cause d'un processus tiers (un antivirus p.ex.).

    A relire le code VBA de ta macro, je n'y aperçois pas de souci de lenteur.

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 8
    Par défaut
    Citation Envoyé par cavo789 Voir le message
    Un bête CTRL-F (manuel donc) dans ta feuille donne-t-elle le résultat bien plus rapidement qu'au travers de ton userform ? 4.000 records, c'est pas grand chose et la taille du fichier est négligable.

    Peut-être aussi vérifier ton taskmanager pour voir si tu n'aurais pas un ralentissement de ton pc à cause d'un processus tiers (un antivirus p.ex.).

    A relire le code VBA de ta macro, je n'y aperçois pas de souci de lenteur.
    Bonjour Monsieur cavo789
    ,

    La fonction rechercher (Ctrl+f) d'excel est bien rapide que mon userform. J'ai même changé de poste, le problème persiste

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 8
    Par défaut
    Citation Envoyé par cavo789 Voir le message
    Un bête CTRL-F (manuel donc) dans ta feuille donne-t-elle le résultat bien plus rapidement qu'au travers de ton userform ? 4.000 records, c'est pas grand chose et la taille du fichier est négligable.

    Peut-être aussi vérifier ton taskmanager pour voir si tu n'aurais pas un ralentissement de ton pc à cause d'un processus tiers (un antivirus p.ex.).

    A relire le code VBA de ta macro, je n'y aperçois pas de souci de lenteur.
    J'ai effacé la mise forme de ma feuille bd-centralisée. Et tout est rentré en ordre. J'avais appliqué avant hier des filtre personnalisé pour faire ressortir des matricule incomplet. Merci pour votre attention

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

Discussions similaires

  1. [XL-2013] Execution de la macro de mon bouton trop lente
    Par Arsene22 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/09/2020, 18h40
  2. [XL-2007] Afficher un MsgBox sans Bouton pendant l'exécution d'une macro
    Par ddanie dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/11/2014, 12h23
  3. Réponses: 6
    Dernier message: 09/09/2014, 13h36
  4. Pb exécution macro associé à un bouton
    Par rungis dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/07/2014, 21h23
  5. [XL-2003] Macro boucle for next trop lente
    Par sixtm dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/06/2011, 17h08

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