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 :

Continuer le script VBA apres erreurs


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 816
    Points : 49
    Points
    49
    Par défaut Continuer le script VBA apres erreurs
    Bonjour à tous,


    Je dispose d'un fichier Excel avec une macro qui va récupérer des informations dans ma base de donnée (mssql server)


    Mon code fonctionne, mais je voulais savoir si il y a une astuce pour qu'au niveau du code CommandTimeout , lorsqu'il atteint la limite il continue le script et n'affiche pas erreur à l’écran?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim cnBat As ADODB.Connection
    Set cnBat = New ADODB.Connection
    Dim strConn As String
    strConn = "PROVIDER=SQLOLEDB;"
    strConn = strConn & "DATA SOURCE=10.91.7.93;UID=ii;PWD=mmm;DATABASE=mp"
    cnBat.Open strConn
    cnBat.CommandTimeout = 580
    guigui69

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    Vous avez essayer
    Cordialement.

    RJ

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Pas vraiment une astuce, mais plutôt une folie. Ouvre ton aide et regarde:

    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  4. #4
    Invité
    Invité(e)
    Par défaut bonjour,
    Qu'est-ce qui produit le time aout?

  5. #5
    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
    Dans le même esprit que la question de rdurupt, je me demandais ce que sont les objets ADODB.
    Si ce sont les objets d'un autre logiciel, c'est peut-être dans la rubrique de cet autre logiciel que tu auras plus de chances d'obtenir des réponses.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Adodb est une librairie (dll) pour ce conecter a une base de données
    Dernière modification par AlainTech ; 03/08/2014 à 21h57. Motif: Suppression de la citation inutile

  7. #7
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    Qu'est-ce qui produit le time aout?
    Les vacances ‼

    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  8. #8
    Invité
    Invité(e)
    Par défaut Bojour,
    tu as raison j'ai fait de l'humour malgré moi!
    mais en fait le Timeout est généré par quel que chose et le on error resume next si il n'est pas géré masque le problème.
    il faut en identifier la cause et corriger!
    Dernière modification par AlainTech ; 03/08/2014 à 21h58. Motif: Suppression de la citation inutile

  9. #9
    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 j'ai bien compris le problème, il n'est pas sûr que le "on error resume next" apporte une solution.
    Cette instruction ne sert qu'à éviter les arrêt d'exécution. D'après ce que je comprends, là, ce n'est pas un arrêt d'exécution mais un message de la méthode CommandTimeout.
    Il faudrait que Guigui soit plus précis sur ce point lorsqu'il dit "afficher une erreur".

    Mais, je le répète, cette question aura plus de chance d'avoir des réponses dans une section du forum consacrée aux bases de données.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  10. #10
    Invité
    Invité(e)
    Par défaut
    oui Menhir tu à raison sur le on error. si tu enregistre un fichier sur un réseau, le on error autorise que le script continu, mais que faire si le réseau tombe et que le traitement utilise ce fichier par la suite.
    avec le on error je peux faire un traitement de 3 heures dans le vide!!!

    CommandTimeout est une erreur masquable par le on error mais elle masque quoi un Update dans la table???

  11. #11
    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
    Mais, dans ce cas, je me demande même si le "on error" serait déclenché.

    PS : cela dit, sur la question de l'intérêt d'un "on error" d'une manière plus générale, je rejoints ton opinion et je les bannis totalement de mes programmes..
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  12. #12
    Invité
    Invité(e)
    Par défaut
    si on gère le on error ok exception!

Discussions similaires

  1. Socket TCP en background ? (ou continuer le script après)
    Par frenchlion dans le forum Modules
    Réponses: 1
    Dernier message: 02/03/2013, 11h21
  2. Réponses: 2
    Dernier message: 27/02/2013, 21h25
  3. [OL-2010] Gestion des erreurs dans un script VBA
    Par sebastian37 dans le forum Outlook
    Réponses: 1
    Dernier message: 08/07/2011, 20h31
  4. Continuer la boucle aprés erreur
    Par coxman68 dans le forum Langage
    Réponses: 1
    Dernier message: 31/05/2011, 15h36
  5. Comment arreter une Sub dans VBA apres une erreur
    Par deubelte dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/08/2007, 16h13

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