Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Gestion erreur VBA

David

XLDnaute Occasionnel
Bonjour à tous,

je me demandais comment gérer une erreur sans GoTo, sur un élément spécifique:
je transforme des cellules dans une plage, mais il se peut qu'il n'y ait aucune cellule a transformer, du coup j'ai un plantage.
J'ai pour le moment mis un GoTo mais s'il y a une autre erreur, ça ne fera pas de distinction.


VB:
derlignEdc = Range("F65536").End(xlUp).Row
    Range("G12:N" & derlignEdc).Select
    Selection.SpecialCells(xlCellTypeConstants, 2).Select
    Selection.ClearContents

merci
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
Bonjour,
2 choses...
D'une part tu peux éviter cette erreur en testant:
VB:
If Not Selection.SpecialCells(xlCellTypeConstants, 2) Is Nothing then
avant de faire tes manips.

Et pour la gestion d'erreur personnellement j'utilise toujours cette séquence devenue rituelle:
Code:
Dim ErrNumber as Variant
.../...
c = 0
On Error Resume Next
a = b / c
ErrNumber = Err.Number
On Error GoTo 0

If ErrNumber then
    MsgBox "Erreur #" & ErrNumber etc...
End If

A noter que la récupération d'erreur doit être limitée au minimum d'instructions (entre les 2 On Error) et pour des situations où on ne peut pas faire autrement (il en existe), d'une part pour bien cibler l'endroit où se produit l'erreur et d'autre part pour ne pas cumuler des erreurs qui pourraient s'enchaîner et donc difficiles à identifier.
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
248
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…