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
230

Statistiques des forums

Discussions
312 115
Messages
2 085 456
Membres
102 891
dernier inscrit
cocowild