VBA

thby -  
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je voudrai remplacer #N/A par NON dans ma colonne excel, un code VBA est peut être utile
Merci

2 réponses

Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
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
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Salut,
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...
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
Voui, mais il a demandé un code VBA... La, il perdra ses formules. Le seul moyens de les garder, c'est comme ce que tu as fait en dessou, une formule excel.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Oui il a demandé un code VBA parce qu'il ne sait pas gérer une erreur excel. Si on lui montre tout de suite la "bonne" méthode c'est mieux n'est-il pas?
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.
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
Il perdra ses formules, mais une fois le calcul fait, il n'ets peut-etre pas forcé de les garder....
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
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...
0