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 :

Pb avec une procédure non appelée qui fait planter Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 631
    Points : 255
    Points
    255
    Par défaut Pb avec une procédure non appelée qui fait planter Excel
    Bonjour,

    Dans mon projet, j'ai un module qui me sert à envoyer des mails aux utilisateurs et qui est appelé par d'autres fichiers Agences (Application.run)

    J'ai un autre module qui me permet d'alimenter les fichiers Agences par des données. Il consiste à ouvrir des fichiers de données, puis d'ouvrir chaque agence et de lui coller les données la concernant ; fermer l'agence, ouvrir la suivante, etc.


    De temps en temps, lorsque je lance la procédure d'alimentation, cela se déroule très bien pour quelques fichiers agences et d'un coup Excel plante et se rouvre sur un classeur vierge (ou ne se rouvre pas).

    Par contre, il me semble que si je neutralise la macro d'envoi de mail (par des apostrophes) il y aurait moins de problème.

    Est-ce que quelqu'un peut me conseiller sur qqch à faire ?

    Merci à ceux qui ont lu le SOS jusqu'au bout sans me prendre pour une folle... Je précise que tous les mois, il y a 20 personnes qui utilisent ces fichiers en France et que seuls 1 ou 2 ont le pb, et pas forcément les mêmes personnes

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par mouftie Voir le message
    Par contre, il me semble que si je neutralise la macro d'envoi de mail (par des apostrophes) il y aurait moins de problème.
    Quelle est la nature de cette macro ? Comment est-elle déclenchée ? Est-ce une macro évènementielle ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre actif
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 631
    Points : 255
    Points
    255
    Par défaut
    Bonsoir Menhir

    J'ai mal rédigé mon message le module d'envoi de mail se trouve dans les fichiers agences
    Dans ce module, il y a des fonctions :

    et une procédure normal de type Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub EnvoiCourriel()
    'Pour des conseils, voir : http://www.rondebruin.nl/win/winmail/Outlook/tips.htm
    Dim rng As Range, OutApp As Object, OutMail As Object
    Dim Fl As Worksheet, NbLg As Integer, Ht As Integer
    Dim DestAgt As String, cc As String
    Application.ScreenUpdating = False
    If Sheets("Données").Visible = False Then Call DeProtegAll
    '1 on crée une nouvelle feuille pour le corp du courriel
    ...
    Le sub EnvoiCourriel est déclencher après le remplissage d'un formulaire saisie selon un certain résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If TbxStatu = "Non Conforme" Then
            ThisWorkbook.Save
            Call EnvoiCourriel
        End If  'XXXX
    Ce formulaire n'est jamais activé lors de la mise à jour des données, ce ne sont pas les même personnes qui font ces actions, le formulaire n'est pas activé lors de la mise à jour.

    Merci pour ton aide

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Si ta macro d'envoi d'e-mail est déclenché "à la main", je ne vois pas comment elle pourrait perturber le fonctionnement d'une autre macro.

    Par contre, enchainer les ouvertures/sauvegarde peut entrainer des problèmes en déclenchant des instructions avant que la précédente soit terminée.
    Peut-être faudrait-il mettre une petite temporisation dans le processus pour un peu calmer le jeu.
    Mais c'est un type de problème difficile à identifier et à solutionner, d'autant plus si on doit le faire à distance sans voir ce qui se passe à l'écran. Ce que je décris là est donc sans aucune garantie, c'est juste une hypothèse.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre actif
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 631
    Points : 255
    Points
    255
    Par défaut
    Bonjour Menhir

    Quand tu dis :
    Peut-être faudrait-il mettre une petite temporisation dans le processus pour un peu calmer le jeu.
    Tu veux dire mettre des DoEvents ?

    Je vais essayer lundi, je dois prendre la main sur une agence...

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/03/2020, 11h37
  2. [XL-2013] Un graphique qui fait planter Excel
    Par Didier Ch. dans le forum Excel
    Réponses: 3
    Dernier message: 08/07/2018, 19h21
  3. [XL-2010] VBA/Programme qui fait planter Excel au bout de la 25e ligne
    Par rododom05 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 17/03/2017, 17h31
  4. Macro qui fait planter Excel systématiquement lorsqu'un bouton lui est affecté
    Par SimonDelmarre dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 26/09/2014, 15h58
  5. Qu'est ce qui fait planter à l'appel d'une méthode
    Par JeanNoel53 dans le forum Général Java
    Réponses: 2
    Dernier message: 19/10/2010, 16h57

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