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

regcou Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
regcou Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -
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

Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
Bonjour,

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


Cordialement
0
regcou Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
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
regcou Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   > regcou Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > regcou Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
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
regcou Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   > michel_m Messages postés 16602 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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > regcou Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
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
thev Messages postés 1985 Date d'inscription   Statut Membre Dernière intervention   713
 
La valeur #N/A en VBA est fournie par CVErr(xlErrNA). Il faut donc tester : Cells(c,38) = CVErr(xlErrNA)


--
0
regcou Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
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
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
ajouter
msgbox c

juste avant c=c+1
Exécutez et dites moi si la boite de message affiche quelque chose
0
regcou Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   > Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention  
 
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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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
regcou Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
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