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 aléatoire


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 57
    Par défaut Bug aléatoire
    j'y comprends plus rien....

    j'ecris une macro sur mon ordi perso, et ca fonctionne tres bien. Cette meme
    macro dès qu'elle est lancer a partir de mon ordi de bureau, me lance des messages d'erreurs et vice versa.Parfois sur un meme ordi la macro beug et les fois suivantes fonctionne. (tous les 2 sont en excel 2003)

    je m'interroge doublement puisque le document finale doit etre installer sur vista avec excel 2007

    auriez vous une idée d'ou vient le probleme ( autre que de moi )

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    il faudrait voir la macro. si le fichier est transporté via une clé USB (entre autres), le problème vient peut-etre de là
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Citation Envoyé par olivier-tig Voir le message
    .Parfois sur un meme ordi l a macro beug et les fois suivantes fonctionne. (tous les 2 sont en excel 2003)

    Si ce phénomène se produit aléatoirement sur la même machine et si (car non précisé) avec la même appli (non modifiée ou mise à jour, donc) :
    plusieurs possibilités :
    1) un DoEvents nécessaire ici où là pour laisser du temps au temps là où nécessaire
    2) un fichier à ouvrir est parfois déjà utilisé par un autre utilisateur (base de données, par exemple)

    On aimerait bien connaître les messages d'erreur ... (ils en disent quelquefois suffisamment ...)
    Car "parfois ça beug" ne révêle rien du tout !!!

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 57
    Par défaut
    re bonjour

    en fait ce que ma macro doit faire c'est :
    -Effacer la cellule E1 feuille "TOUS"
    -Masquer toute les feuilles avant d'enregistrer
    -Copier le contenu de "TARA"( un autre classeur ) A120 dans "TOUS" E1 avant d'afficher de nouveau toutes les feuilles

    Le but est de "bloquer" le programme si la macro ne trouve pas le classeur TARA.
    je sais qu'elle est un peu surcharger, mais bon j'espere que le probleme ne vient pas de la. Tjrs est il si vous pouvez me la simplifier je ne dirai pas non.

    je preciser qd meme qu'il y a 3 programmes qui on le meme type de macro qui doit aller ouvrir le classeur TARA

    salutation



    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    Sheets("AMAC").Select
        Range("D246:E247").Select
        Application.ScreenUpdating = False
        Sheets("TOUS").Visible = xlSheetVeryHidden
        Sheets("COULISSE").Visible = xlSheetVeryHidden
        Sheets("F001").Visible = xlSheetVeryHidden
        Sheets("F004").Visible = xlSheetVeryHidden
        Sheets("F003").Visible = xlSheetVeryHidden
        Sheets("F002").Visible = xlSheetVeryHidden
        Sheets("COUT").Visible = xlSheetVeryHidden
        Sheets("MESURE").Visible = xlSheetVeryHidden
        Sheets("TOUS").Visible = True
        ActiveSheet.Unprotect "toto"
        Range("E1").Select
        Selection.ClearContents
        Range("F1").Select
        ActiveSheet.Protect "toto"
        Sheets("TOUS").Visible = xlSheetVeryHidden
        Sheets("AMAC").Select
        Range("D246:E247").Select
        ActiveWorkbook.Save
            ChDir "C:\Program Files\NINA"
        Workbooks.Open Filename:="C:\Program Files\NINA\TARA.xls"
        Sheets("Feuil3").Select
        ActiveSheet.Unprotect "toto"
        Range("A120").Select
        Windows("VR W S.xls").Activate
        Sheets("TOUS").Visible = True
        Sheets("TOUS").Select
        ActiveSheet.Unprotect "toto"
        Windows("TARA.xls").Activate
        Range("A120").Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("VR W S.xls").Activate
        Sheets("TOUS").Select
        Range("E1").Select
        ActiveSheet.Paste
        Range("F1").Select
        Application.CutCopyMode = False
        Selection.Copy
        Range("G1").Select
        ActiveSheet.Paste
        ActiveSheet.Protect "toto"
        Sheets("COULISSE").Visible = True
        Sheets("F001").Visible = True
        Sheets("F004").Visible = True
        Sheets("F003").Visible = True
        Sheets("F002").Visible = True
        Sheets("COUT").Visible = True
        Sheets("MESURE").Visible = True
        Sheets("TOUS").Select
        Range("F5").Select
        Windows("TARA.xls").Activate
        ActiveWorkbook.Close
        Range("F5").Select
    End Sub

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    déjà, n'oublies pas les balises,
    le plus important que j'ai corrigé en fin de code c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating = True
    sinon, essayes ce code sur une copie du fichier car j'avais l'impression que des lignes etaient inutiles, d'autres sont surement aussi à supprimer
    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
    42
    43
    44
    45
    46
    47
    Application.ScreenUpdating = False
    Sheets("AMAC").Visible = True
    Sheets("COULISSE").Visible = False
    Sheets("F001").Visible = False
    Sheets("F004").Visible = False
    Sheets("F003").Visible = False
    Sheets("F002").Visible = False
    Sheets("COUT").Visible = False
    Sheets("MESURE").Visible = False
    Sheets("TOUS").Visible = True
    ActiveSheet.Unprotect "toto"
    Sheets("TOUS").Range("E1").ClearContents
    ActiveSheet.Protect "toto"
    Sheets("TOUS").Visible = False
    ActiveWorkbook.Save
    ChDir "C:\Program Files\NINA"
    Workbooks.Open Filename:="C:\Program Files\NINA\TARA.xls"
    Sheets("Feuil3").Select
    ActiveSheet.Unprotect "toto"
    Range("A120").Select
    Windows("VR W S.xls").Activate
    Sheets("TOUS").Visible = True
    Sheets("TOUS").Select
    ActiveSheet.Unprotect "toto"
    Windows("TARA.xls").Activate
    Application.CutCopyMode = False
    Range("A120").Copy
    Windows("VR W S.xls").Activate
    Sheets("TOUS").Select
    Range("E1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("F1").Copy
    Range("G1").Select
    ActiveSheet.Paste
    ActiveSheet.Protect "toto"
    Sheets("COULISSE").Visible = True
    Sheets("F001").Visible = True
    Sheets("F004").Visible = True
    Sheets("F003").Visible = True
    Sheets("F002").Visible = True
    Sheets("COUT").Visible = True
    Sheets("MESURE").Visible = True
    Sheets("TOUS").Select
    Windows("TARA.xls").Activate
    Application.ScreenUpdating = True
    ActiveWorkbook.Close
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 57
    Par défaut re bonjour
    je constate que j'ai ecrit la macro " Macro1 "dans un module avec option Private sub et qu'elle fonctionne bien.
    Vu que avec l'option private sub on ne peut pas appellé cette macro a partir du WORkBOOK ( sauf erreure de ma part ) j'ai donc copier le contenu de la macro ( a partir de la 1ere instruction) dans WORKBOOK dans Private Sub Workbook_Open() , du coup je constate que c'est surtout celle ci qui beug quand je l'execute. Alors manquerai t'il qq chose ?

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Citation Envoyé par olivier-tig Voir le message
    du coup je constate que c'est surtout celle ci qui beug quand je l'execute. Alors manquerai t'il qq chose ?
    Bonsoir,

    je veux supposer que tu connais et emploies bien l'adverbe "surtout", qui ,signifie que ce n'est pas la seule cause, mais la cause essentielle !!!! (et qu'il y a donc d'autres causes !!!)

    Mais... et surtout (ici employé à juste titre) :
    celà ne répond toujours pas à une question qui me semblait claire :

    On aimerait bien connaître les messages d'erreur ... (ils en disent quelquefois suffisamment ...)
    Car "parfois ça beug" ne révêle rien du tout !!!
    Et il n'est pas interdit d'en profiter pour signaler la ligne dénoncée quand "çà beug", hein...

Discussions similaires

  1. Bug aléatoire VC++ Winform
    Par vdelaver dans le forum Visual C++
    Réponses: 0
    Dernier message: 26/05/2009, 21h37
  2. Réponses: 1
    Dernier message: 15/10/2007, 14h05
  3. Bug aléatoire et pas très bien compris (open/close_system)
    Par LordPeterPan2 dans le forum Simulink
    Réponses: 8
    Dernier message: 03/07/2007, 11h08
  4. Réponses: 5
    Dernier message: 15/01/2007, 10h45
  5. [bug aléatoire] sauvegarde dans un fichier
    Par poukill dans le forum C++
    Réponses: 11
    Dernier message: 30/05/2006, 08h36

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