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 :

Bug dans l’initialisation du programme [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 32
    Par défaut Bug dans l’initialisation du programme
    Bonjour,

    Depuis hier, je bloque sur un bug vraiment bizarre.
    J'ai une application (VBA Excel) qui initialise une première fenêtre. Dans cette fenêtre je fais un choix ( est ou ouest) et l'application est censé charger des données et affiché une nouvelle fenêtre.
    Le problème est survenu hier alors que le programme fonctionne depuis plusieurs mois sans problème.
    J'ai remarqué que lorsque je fait "Pause" dans l'appli et que je regarde le débogage, je me rend compte que ce n'est pas toujours à la même ligne, mais toujours dans la procédure UserForm_Initialize().
    Le pire c'est qu'a ce moment là, je laisse continuer l'application (F5) et ça fonctionne, la nouvelle fenêtre apparaît alors que si je n'avais pas fait la manip j'aurai pu attendre indéfiniment.

    Voila, donc je bloque depuis.

    Avez vous une idée de ce que ça pourrait être. Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 99
    Par défaut
    bonjour Galère05 le forum
    si cela est récurant, passe nous ton fichier sans informations confidentielles que l'on puisse t'aider
    a+
    papou

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 32
    Par défaut
    j'ai peur qu'il soit trop imposant ( le code n'est pas de moi, il a été developpé par un étudiant et moi je suis censé l'améliorer et rajouter des options).
    Y a t-il quelque chose à vérifier à tout prix ou je ne sais pas?

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Il n'est pas nécessaire, dans un premier temps, de joindre le fichier mais afin que les gens puissent t'aider, il est indispensable de montrer le(s) code(s) qui coince(nt).

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 32
    Par défaut
    ok, j'ai l'impression que ca coince au niveau de ce morceau
    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
     
    With ThisWorkbook.Worksheets("pressepapier")
                .Paste .Cells(1, 1)
                Set sel = .Range(.Range("A1:I1"), .Range("A60000:I60000").End(xlUp))
                'inserer les mp
                If DatePart("w", Date) = 1 Or DatePart("w", Date) = 7 Or Time > TimeValue("17:00:00") Or Time < TimeValue("7:00:00") Then
                    For Each rw In sel.Rows
                        If estDifficile(rw.Cells(1, 2)) Then
                            If Not estHO(rw.Cells(1, 2)) Then
                                ListBoxSa.AddItem rw.Cells(1, 2)
                            End If
                        End If
                    Next rw
                Else
                    For Each rw In sel.Rows
                        If estDifficile(rw.Cells(1, 2)) Then
                            ListBoxSa.AddItem rw.Cells(1, 2)
                        End If
                    Next rw
                End If
                .Cells.Delete
                'si il n'y a pas de MP, une ligne parasite apparait. La supprimer
                If ListBoxSa.ListCount = 1 Then
                    If ListBoxSa.List(0, 0) = "Poste technique" Then
                        ListBoxSa.RemoveItem 0
                    End If
                End If
            End With
    le code de estdifficile
    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
    'Fonction qui détermine si une mp est difficile ou non
    Private Function estDifficile(designation As String) As Boolean
     
        Dim trouve As Boolean
     
        trouve = False
     
        'tente de trouver la mp dans la liste des difficiles
        With ThisWorkbook.wbase.Worksheets("MPDiff")
            Set C = .Range(.Range("A1"), .Range("A6000").End(xlUp)).Find(designation)
            'si elle y est, renvoie vrai
            If Not C Is Nothing Then
                trouve = True
            End If
        End With
        estDifficile = trouve
    End Function

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 32
    Par défaut
    Je viens de voir que c'est une boucle qui tourne dans le vide. Je vais régler le problème.
    Par contre, je ne sais pas comment il fait pour sortir de la boucle quand je stop et reprend le programme.

    Merci pour l'aide

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/03/2012, 10h32
  2. Un Bug dans mon programme
    Par Mr Ilias dans le forum C
    Réponses: 2
    Dernier message: 17/01/2012, 23h19
  3. bug dans mon programme (message d'erreur)
    Par maxmarie dans le forum Windows Mobile
    Réponses: 10
    Dernier message: 13/09/2007, 10h34
  4. Bug dans un programme sous 13H
    Par tixweb dans le forum Windows
    Réponses: 4
    Dernier message: 09/11/2006, 08h46
  5. bug dans programme d'extraction de données d'une page web
    Par youpimevla dans le forum Web & réseau
    Réponses: 11
    Dernier message: 31/08/2006, 10h02

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