Gestion des erreurs en VB Excel

pier2late Messages postés 1 Statut Membre -  
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
j'ai créé une macro en VB qui cherche les résultats de formule d'un tableau original, dans une autre feuille (cible). La majorité des réponses à ces formules sont des #N/A... Et donc, je n'aurais pas à les chercher! C'est là que le bas blesse...
Je ne parviens pas à gérer l'erreur "running time error 13" donnée par VB: je cherche donc dans la feuille cible une donnée que je sais ne pas trouver. Cela prend beaucoup de temps car il y a parfois 25.000 cellules à contrôler.
Par contre, quand la recherche de #N/A s'effectue dans la feuille cible (et qu'elle n'est pas trouvée), l'erreur est gérée convenablement...?
Y a-t-il un moyen d'éviter de considérer le résultat d'une cellule s'il vaut #N/A? Ensuite, le programme reprend et contrôle la cellule suivante?
Les données sont de type aléatoires: alphanumériques avec ponctuation...

merci pour votre savoir-faire et à+

pier2late
A voir également:

3 réponses

Polux31 Messages postés 7219 Statut Membre 1 204
 
bonjour,

il faut mettre en début de macro :

On Error Resume Next


Ensuite tu peux afficher un message ou autre chose en cas d'erreur en mettant ça en fin de macro :

If Err <> 0 Then
   MsgBox "Erreur dans le déroulement de la macro",,"Message Erreur"
End If



;o)

polux
1
pier2late
 
bonjour et merci pour la réponse.
Ce bout de code me permet de passer outre l'erreur lors de la recherche infructueuse. ça fonctionne bien!
Mais, Excel perd beaucoup de temps à chercher cette donnée inexistante. Je voudrais donc accélérer en faisant passer la recherche si le contenu de la cellule est #N/A. C'est possible?

merci

pier2late
1
Polux31 Messages postés 7219 Statut Membre 1 204
 
Bonsoir,

Si tu as 25 000 cellules à tester, c'est normal que ça soit long et il faut bien les tester toutes. Excel n'est pas une base de donnée ... c'est l'inconvénient...

;o)

polux
1