• Initiateur de la discussion Initiateur de la discussion JJ1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JJ1

Guest
Bonsoir
Je voudrais placer la commande " On error resume next "dans ma macro
Pouvez -vous me dire s'il y a un endroit préférable?

voici sa structure:

Dim ..

With ActiveSheet
cpt = 0
For i = 1 To Range("a20000").End(xlUp).Row
If .Range("au" & i).Value = "" Then Exit Sub
.Range("au" & i, "az" & i).Copy Destination:=.Range("ad8")
If .Range("ap" & 1).Value = 1 Then ......
cpt = i
Range("BI1").Value = cpt
Next i
End With

merci et bonne soirée à tous
 
Re : On error Resume

bonjour jj1, le forum

Attention . la gestion des erreurs est tres compliquée à gérer. généralement on utilise une gestion d'erreur quand on sait ou et pourquoi il va y avoir l'erreur

un exemple : création d'un repertoire

Mkdir "Sauvegarde"---> on sait qu'au deuxieme passage, ca plantera puisque le repertoire existe deja.
donc on va faire :
on error resume Next
Mkdir "Sauvegarde"
On error goto 0 ----> pour rendre le controle d'erreur à excel

tout cela pour te dire que utiliser un controle d'erreur n'est pas fait pour se debarasser des erreurs eventuelles d'un code, c'est tres dangereux. il faut mieux se taper un debbogage et corriger le code que de controler l'erreur

dans le bout de code que tu as ecrit, je ne vois pas d'erreur. et je ne vois pas de ligne necessitant un controle d'erreur

Que se passe t il pour que tu eprouves le besoin d'un controle d'erreur. excel te met des messages bizarre ?
 
Re : On error Resume

Bonjour Wilfried_42, le Forum
Je n'ai aucune erreur dans la macro.
Dans ma feuille de calcul, une cellule de calcul à laquelle fait référence la macro a parfois #N/A pour résultat ce qui plante la macro, je voudrais donc qu'elle continue (next)
merci et bon lundi
 
Re : On error Resume

Re,
puis-je mettre dans la macro:
aprés:If .Range("au" & i).Value = "" Then Exit Sub
If .Range("a" & 1).Value = "#N/A" Then Next i
(en supposant que ce soit A1 qui pose problème)
merci
 
Re : On error Resume

re:

non surtout pas, les boucles sont aussi des procedures sensibles

if .range("A" & i).value = "#N/A" then goto suite

suite:
next i

Un for -----> Un next

meme si ce que tu demandes marche, fait le deroulement de la boucle si le #N/A est sur la derniere cellule, ton next i va clore la boucle, et poursuivra le traitement ----> l'erreur va se realiser et de plus il va rencontrer un autre next i, alors que a boucle n'exise pas
 
Re : On error Resume

Bonjour Wilfried, le Forum
Je tenais à vous informer du résultat, j'ai utilisé "on error resume next" qui fonctionne parfaitement.
J'ai testé avec 5 enregistrements dont le 4ème était volontairement mauvais.
la macro a fait le traitement normal jusqu au 5ème sans "planter" mais, pour info, elle a considéré d'office que le test If était vrai et donc à appliqué le Then au mauvais enregistrement (le 4).
bon à savoir.
bonne journée à tous
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
908
Réponses
15
Affichages
778
Réponses
5
Affichages
573
Réponses
2
Affichages
526
Retour