Reconnaître un cellule qui contient un #N/A

regcou Messages postés 12 Statut Membre -  
regcou Messages postés 12 Statut Membre -
Bonjour,
je cherche à faire une verif à traver une boucle while avec deux contidions :

While Cells(c, 38) <> "" Or Cells(c, 38) = "#N/A"

c = c + 1
Wend

En gros si la case selectionné est differente de "Vide" ou = "N/A" alors c=c+1.

Avec la condition <> "" pas de probléme par contre l'ajout de la deuxiéme solution fait buger le process.

Merci pour votre aide
Regcou

3 réponses

  1. Thorak83 Messages postés 1140 Statut Membre 156
     
    Bonjour,

    While Cells(c, 38) <> "" Or WorksheetFunction.IsNA(Cells(c, 38))
      c = c + 1
    Wend


    Cordialement
    0
    1. regcou Messages postés 12 Statut Membre
       
      Salut Thorak,

      merci pour ton aide, parcontre j'ai toujours une erreur '13' imcopatibilté de type,
      cela peut-il venir du type de ma variable 'c'?

      merci encore
      Regcou
      0
    2. regcou Messages postés 12 Statut Membre > regcou Messages postés 12 Statut Membre
       
      Au faite le N/A est une valeur que j'ai copier, dans la cellule la valeur est N/A ce n'est pas le resultat d'une formule!!

      au cas ou
      Regcou
      0
    3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > regcou Messages postés 12 Statut Membre
       
      Bonjour
      dans la cellule la valeur est N/A ce n'est pas le resultat d'une formule!!

      hé bien, c'est une belle ... (au choix) de choisir des mots ambigus...

      évite donc de faire joujou
      0
    4. regcou Messages postés 12 Statut Membre > michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Bonjour Michel,

      comment faire, j'ai 16 fichiers dont il faut que je synthétise une lignes dans chaques qui contient une fonction si(condition;calcule;na())) . J'ai obté pour un copier coller des valeurs donc du coup NA c'est du texte d'ou mon premier code ?!
      Qu'est ce qui pêche?
      0
    5. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > regcou Messages postés 12 Statut Membre
       
      marque autre chose que #N/A qui est ambigu car sinalant un type d'erreur bien précis
      il faut donc
      soit revoir l"ânerie dans tes fichiers source
      ou utiliser la fonction replace dans ton code
      replace("N/A", tonchoix)
      0
  2. thev Messages postés 2007 Date d'inscription   Statut Membre Dernière intervention   722
     
    La valeur #N/A en VBA est fournie par CVErr(xlErrNA). Il faut donc tester : Cells(c,38) = CVErr(xlErrNA)

    --
    0
    1. regcou Messages postés 12 Statut Membre
       
      Salut Thev,

      je viens de tester et j'obtiens la même erreur!
      mon code :
      While Cells(c, 38) <> "" Or Cells(c, 38) = CVErr(xlErrNA)
      c = c + 1
      Wend

      Merci pour ton aide
      regcou
      0
    2. Thorak83 Messages postés 1140 Statut Membre 156
       
      ajouter
      msgbox c

      juste avant c=c+1
      Exécutez et dites moi si la boite de message affiche quelque chose
      0
      1. regcou Messages postés 12 Statut Membre > Thorak83 Messages postés 1140 Statut Membre
         
        Je l'ai placer juste avant While est j'obtiens "4",
        je ne peux la placer aprés vue que sa bug sur la ligne while
        Merci Thorak
        0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    re,
    dans tes formules destinées à un graphique, pour ne pas redescendre la courbe à zeéro il faiur employer NA()
    par ex
    =
    SI(D8<30;D8;NA()) 
    =qui montrera #NA ce qui n'est en aucun cas du texte

    pour contourner l'os
    esssaie cette maquette
    Sub regcou()
    c = 1
    On Error GoTo fin:
    While Cells(c, "A") <> ""
    c = c + 1
    Wend
    MsgBox "ligne vide " & c
    '...suite du code
    Exit Sub
    fin:
    MsgBox "NA ligne " & c
    End Sub
    Michel
    0
    1. regcou Messages postés 12 Statut Membre
       
      Bonjour Michel,

      effectivement, c'est bien pour sa que j'ai utilisé le NA() dans mes formules de tableau sources (les fameux 16 tableurs)qui ont chacun leur serie de graph.

      Sur un autre forum une personne ma montré une démarche avec l'immediate windows (fonction debug que je ne connaissais pas du tout), l'erreur remonté est bien 2042, je regarderai ta proposition en début d'aprém et je te reviens.

      En tout cas merci à vous trois pour le temps précieux que vous m'avez accordé.

      Amicalement
      Regcou
      0