Gestion des erreurs en VB Excel
pier2late
Messages postés
1
Date d'inscription
Statut
Membre
-
Polux31 Messages postés 7219 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
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
Configuration: Mac OS X
3 réponses
-
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 -
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 -
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