Gestion d'erreurs
Pour éviter des erreurs dans une commande d'une ligne de programme on peut indiquer au programme d'arrêter la commande lorsqu'il y a une erreur et d'éxécuter une autre ligne de programme
Resume Next
La solution la plus simple est d'indiquer au programme d'éxécuter la ligne suivante de celle ayant engendrée l'erreur.
Par exemple dans le programe suivant :

Public Sub EcrireDsCellule(cellule As String)
ActiveSheet.Range(cellule).value = "Bonjour"
End Sub

Le paramètre cellule de la procédure EcrireDsCellule doit être une chaine de caractère qui correspond à la référence d'une cellule (type A1). Pour éviter une erreur dans cette procédure, on ajoute avant la ligne utilisant ce paramètre la commande : On Error Resume Next. Le programme devient :

Public Sub EcrireDsCellule(cellule As String)
On Error Resume Next
ActiveSheet.Range(cellule).value = "Bonjour"
End Sub

Ainsi, s'il y a une erreur dans la ligne ActiveSheet.Range(cellule).value = "Bonjour", le programme continuera à la ligne suivante, c'est à dire passera à la fin de la procédure (End Sub) et dans ce cas la procédure n'aura déclenché aucune erreur (mais n'aura aussi rien fait).
GoTo Etiquette
Une autre solution consiste, en cas d'erreur, à faire poursuivre l'éxécution du programme à un endroit repéré par une étiquette. Par exemple en nommant l'étiquette : TraitErreur, on devra insérer la ligne : On Error GoTo TraitErreur.et à la fin du programme d'écrire l'étiquette suivi de deux points (:) puis aux lignes suivantes ce que doit faire le programme en cas d'erreur.
En reprenant l'exemple ci-dessus on peut écrire :

Public Sub EcrireDsCellule(cellule As String)
On Error GoTo TraitErreur
ActiveSheet.Range(cellule).value = "Bonjour"
Exit Sub
TraitErreur:
MsgBox "Erreur de saisie", vbCritical, "Gestion des erreurs"
End Sub

On remarquera que l'étiquette est précédée par la commande Exit Sub, pour que le programme s'arrête normalement lorsqu'il n'y a pas d'erreur (sans exécuter le code réservé aux erreurs). On pourrait aussi traiter plus finement les erreurs en testant par exemple si le premier caractère du paramètre cellule est bien une lettre, s'il contient bien un nombre ... et afficher le message correspondant.