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 :

vba gestion erreur incompatibilité de type


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut vba gestion erreur incompatibilité de type
    Bonjour à tous.

    Pour une erreur de syntaxe, le bouton débogage permet d'aller à la ligne qui a généré l'erreur et les fenêtres de contrôle (espions, variables locales) permettent de savoir où on en est du déroulement du module donc de retrouver l'origine de l'erreur. Pour une erreur d'incompatibilité de type de code 13, le module se ferme, les fenêtres de contrôle sont vides et on ne dispose d'aucun moyen pour retrouver l'origine de l'erreur. Quand il s'agit, comme cela m'est arrivé, d'un compteur de cellule qui a inopinément disparu d'une des nombreuses feuilles d'un classeur et qu'une ligne d'un gros module appelle le résultat de ce compteur, le contenu de la cellule n'est alors pas un nombre, d'où l'erreur d'incompatibilité de type, il peut être extrêmement pénible de retrouver la ligne qui a généré l'erreur et encore pire la feuille en cause.

    Quelqu'un connaitrait-il un moyen de programmation de la gestion de l'erreur d'incompatibilité de type (par on error goto...) pour que le module s'arrête sans se fermer, qu'on retrouve la ligne en cause et que les fenêtres de contrôle ne soient pas vides, de la même manière que pour une erreur de syntaxe ?

    Merci d'avance.

  2. #2
    Membre Expert Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Par défaut
    Ce genre de problème survient en général si Excel (ou Access ou autre) rencontre une erreur "fatale". Personnellement, j'ai pris l'habitude de toujours commencer par lancer une procédure complexe pas à pas (sans boucle), avec un "break" autour d'un bloc important, et utilisant la fenêtre espion. cela permet d'éviter les erreurs fatales dès le départ et de corriger le tir.

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour VBA reconnaît une incompatibilité de type sans problème lorsque "directe".
    Ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim i As Integer
    i = "a"
    fera que l'on aura un plantage de ce type et le mode debug dénoncera (en jaune) la seconde de ces deux lignes
    VBA aura plus de difficultés (voire ne pourra pas du tout) à dénoncer tout de la même manière (si cause lointaine, par exemple).

    La sagacité du développeur est et restera toujours essentielle en matière de développement.

  4. #4
    Invité
    Invité(e)
    Par défaut vba gestion erreur incompatibilité de type
    Merci.

    C'est effectivement la bonne méthode pour la mise au point, c'est celle que j'utilise (les points d'arrêt sont faits pour ça). Mais la procédure était au point et fonctionnait depuis des mois, c'est un cas accidentel et si en définitive j'ai utilisé la même méthode, c'est lourd pour un cas unique. Je cherche quelque chose de plus systématique. J'ai essayé on error goto gestErreur, et j'ai tenté d'y mettre un sendkeys escape ou Ctrl+attn, mais je n'ai pas réussi à le faire fonctionner malgré une syntaxe reconnue comme correcte.

    D'autres idées ?

Discussions similaires

  1. [AC-2003] Erreur incompatibilité de type : code SQL dans une fonction VBA
    Par KonTiKI dans le forum VBA Access
    Réponses: 5
    Dernier message: 18/04/2016, 17h15
  2. Erreur incompatibilité de type au lancement formulaire
    Par koluche dans le forum VBA Access
    Réponses: 0
    Dernier message: 05/05/2011, 14h59
  3. Erreur "incompatibilité de type" lors import dans table Access
    Par spud96 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/01/2011, 21h40
  4. erreur incompatibilité de type
    Par prince19 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/06/2007, 11h43
  5. [VBA E]erreur incompatibilité de type que je ne comprend pas
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/07/2006, 14h14

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