L'informatique à votre portée
L'informatique prêt-à-porter

Faites appel à moi pour vos formations
sur les dpts 81, 31, 82, 11 et 67 (Strasbourg)
Confiez moi vos développements Office

FacebookTwitterGoogle BookmarksLinkedin

Définition

4 mars 2014
Imprimer E-mail

Le débogage représente toutes les actions que vous effectuez pour tester et corriger votre programme. En effet, malgré toute l'attention que vous aurez apportée à votre travail, il résidera toujours des erreurs que vous pourrez détecter au cours de cette phase du travail. Certains programmeurs estiment que pour la construction d'un programme 10% du temps est consacré à la conception tandis que le débogage en utilise 90%.
Il vous permettra de débusquer :

  • Les erreurs de compilation qui se produisent lors de la frappe du code, les erreurs de ponctuation, mot clé mal orthographié, propriété ou méthode n'existant pas pour l'objet. Certaines de ces erreurs sont détectées par VBA au cours de la frappe, mais d'autres le sont au moment de la compilation (transformation de votre code en code exécutable) effectuée lorsqu'il est exécuté pour la 1ère fois.
    Exemple :
    Sub NouvelleFlle
         Worksheets.New
                ' devrait être Worksheets.Add
    End Sub
  • Les erreurs d'exécution qui se produisent pendant l'exécution du code. Elles sont essentiellement dues à des données erronées, des dépassement de capacités des types de données, des erreurs dues à l'utilisateur. VBA vous signale l'erreur pendant l'exécution avec un message parfois peu explicite.
    Exemple :
    Function Double(X As Byte) As Byte
         Double= X * 2
    End Function
    Dans tous les cas où X est supérieur à 127, ce programme provoque une erreur de dépassement de capacité (Double étant de type Byte, il ne peut accepter des valeurs supérieurs à 255).
  • Les erreurs logiques qui ne génèrent pas d'erreur. Mais le programme ne produit pas le résultat prévu. Ce sont les erreurs les plus difficiles à détecter.
    Exemple :

    Function FrancEuro(dF as Double) as Double
         FrancEuro = dF / 6.55957
    End Function

    Ici la fonction renvoie toujours une valeur mais elle n'est pas valide, en effet l'opération aurait du être :
     FrancEuro = dF * 6.55957