VBA

thby -  
Ctesias Messages postés 786 Statut Membre -
Bonjour,

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

2 réponses

  1. Ctesias Messages postés 786 Statut Membre 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
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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
    2. Ctesias Messages postés 786 Statut Membre 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
    3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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
    4. Ctesias Messages postés 786 Statut Membre 36
       
      Il perdra ses formules, mais une fois le calcul fait, il n'ets peut-etre pas forcé de les garder....
      0
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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