2 réponses
For i = 1 to Range("A65536").End(xlUp).Row 'Remplacer le 1 par la premiere ligne à remplacer. Et le A de Range("A65535") par la lettre de la colonne souhaité If Cells(i,1).value = #N/A then 'Remplacer le 1 par le numero de la colonne Cells(i,1).value = "NON" 'idem end if Next
Voila
Bonjour,
La gestion des erreurs sous excel ne devrait pas être réalisée comme tu le souhaites.
Ton erreur #N/A peux être gérée différemment. Il faut nous en dire davantage...
En cas d'erreur suite à une formule de calcul, on peux traiter l'erreur directement dans la formule.
Fais ce test :
Ouvre un classeur excel, en A1 écris 10, en A2 écris 0 et en A3 la formule :
=A1/A2
Tu as une erreur #DIV/0, logique!
Maintenant, remplace en A2 : 0 par : 1 et écris en A3
=SI(ESTERREUR(A1/A2);"NON";A1/A2)
remplace à nouveau A2 par 0 pour finir ce petit test...
Tu dis, si tu souhaites que l'on gère ton erreur directement dans la formule...
La gestion des erreurs sous excel ne devrait pas être réalisée comme tu le souhaites.
Ton erreur #N/A peux être gérée différemment. Il faut nous en dire davantage...
En cas d'erreur suite à une formule de calcul, on peux traiter l'erreur directement dans la formule.
Fais ce test :
Ouvre un classeur excel, en A1 écris 10, en A2 écris 0 et en A3 la formule :
=A1/A2
Tu as une erreur #DIV/0, logique!
Maintenant, remplace en A2 : 0 par : 1 et écris en A3
=SI(ESTERREUR(A1/A2);"NON";A1/A2)
remplace à nouveau A2 par 0 pour finir ce petit test...
Tu dis, si tu souhaites que l'on gère ton erreur directement dans la formule...
A mon avis, on ne devrait jamais remplacer une formule qui renvoie une erreur par macro...
Ca n'est pas comme cela que l'on gère les erreurs sous excel...
La, il perdra ses formules Ben oui et c'est pas ce qu'il y a de mieux pour son classeur.
Notre rôle ici est aussi d'aiguiller le demandeur vers une solution alternative lorsque celle ci s'avère "meilleure" pour le résultat escompté. Après, attendons, ta solution peux en effet solutionner son problème.