OVH Cloud OVH Cloud

IF ISNA CELLS(....) disjoncte ! ?

4 réponses
Avatar
LANIMAL
Bonjour
Je veux obtenir que la cellule A1 contienne "Erroné" si B1=#N/A ;
sinon : "OK"
J'ai essayé dans le code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range)
IF(ISNA(Cells(1,2))) Then
Cells(1,1)="Erroné"
Else
Cells(1,1)="OK"
End Sub
Cà ne marche pas, et je ne trouve rien dans l'aide de VB sur NA ou N/A
ou #N/A ou ISNA. Il me dit qu'il ne comprend pas la question, et
pourtant ISNA existe puisque je l'ai trouvé dans une formule écrite par
l'enregistreur de macro.
Merci - Michel

4 réponses

Avatar
AV
Pourquoi alourdir avec une proc évènementielle ?
En A1 :
=SI(ESTNA(B1);"Erroné";"OK")

Si tu tiens absolument à la proc, teste comme ça :
If [B1].Text = "#N/A" Then ...blabla

AV
Avatar
Daniel
Bonjour.
Je ne sais pas pour IsNA. Mets IsError à la place.
Daniel
"LANIMAL" a écrit dans le message de news:
%23Y7pIch%
Bonjour
Je veux obtenir que la cellule A1 contienne "Erroné" si B1=#N/A ;
sinon : "OK"
J'ai essayé dans le code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range)
IF(ISNA(Cells(1,2))) Then
Cells(1,1)="Erroné"
Else
Cells(1,1)="OK"
End Sub
Cà ne marche pas, et je ne trouve rien dans l'aide de VB sur NA ou N/A ou
#N/A ou ISNA. Il me dit qu'il ne comprend pas la question, et pourtant
ISNA existe puisque je l'ai trouvé dans une formule écrite par
l'enregistreur de macro.
Merci - Michel


Avatar
LANIMAL
Pourquoi alourdir avec une proc évènementielle ?
Parce que le test conditionne aussi d'autres actions que je n'ai pas

indiquées dans ma question pour ne pas alourdir inutilement.
Merci pour ton aide.
En A1 :
=SI(ESTNA(B1);"Erroné";"OK")
Si tu tiens absolument à la proc, teste comme ça :
If [B1].Text = "#N/A" Then ...blabla
Ok. Vu.


Avatar
Daniel
Bonjour.
Remplace IsNA par WorksheetFunction.IsNA.
C'est magique !
Daniel
"LANIMAL" a écrit dans le message de news:
%23Y7pIch%
Bonjour
Je veux obtenir que la cellule A1 contienne "Erroné" si B1=#N/A ;
sinon : "OK"
J'ai essayé dans le code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range)
IF(ISNA(Cells(1,2))) Then
Cells(1,1)="Erroné"
Else
Cells(1,1)="OK"
End Sub
Cà ne marche pas, et je ne trouve rien dans l'aide de VB sur NA ou N/A ou
#N/A ou ISNA. Il me dit qu'il ne comprend pas la question, et pourtant
ISNA existe puisque je l'ai trouvé dans une formule écrite par
l'enregistreur de macro.
Merci - Michel