Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA - tester si valeur N/A

2 réponses
Avatar
Acheron
Bonjour à tous,

Voici ma question :
J'ai
- un graphe (bulles)
- des données (nombres) colorées

J'ai écrit un code qui attribue à chaque bulle la couleur correspondant à sa
donnée. De plus, le graphe est dynamique. Càd qu'en cas d'absence de données,
la cellule devient N/A et la colonne est cachée.

Problème : pour attacher à chaque bulle sa couleur, je compare sa valeur
dans le graphe avec celle de sa donnée. En cas d'égalité, la couleur est
attribuée. Mon code bugge sur le N/A. J'ai essayé de lui faire "sauter" la
série en cas d'erreur, mais rien n'y fait.

Le code suivant fonctionne pour la cellule :
(...)
dim vCell as Object
If IsError(vCell) Then (...)

Hélas, ça ne marche pas pareil pour le point du graphique. D'où ma question
: comment vérifier en VBA si une valeur de série de graphique est N/A ?

Notez que :
(...)
Dim Ser as Series
(...boucle sur i...)
If IsError(Ser.Values(i)) Then

... ne fonctionne pas !

Merci de votre aide !

Acheron

2 réponses

Avatar
isabelle
bonjour Achelon,

Dim c As Range
For Each c In Range("B1:B4")
If IsError(c) Then MsgBox "Erreur"
Next

isabelle


Bonjour à tous,

Voici ma question :
J'ai
- un graphe (bulles)
- des données (nombres) colorées

J'ai écrit un code qui attribue à chaque bulle la couleur correspondant à sa
donnée. De plus, le graphe est dynamique. Cà d qu'en cas d'absence de données,
la cellule devient N/A et la colonne est cachée.

Problème : pour attacher à chaque bulle sa couleur, je compare sa valeur
dans le graphe avec celle de sa donnée. En cas d'égalité, la couleur est
attribuée. Mon code bugge sur le N/A. J'ai essayé de lui faire "sauter" la
série en cas d'erreur, mais rien n'y fait.

Le code suivant fonctionne pour la cellule :
(...)
dim vCell as Object
If IsError(vCell) Then (...)

Hélas, ça ne marche pas pareil pour le point du graphique. D'où ma question
: comment vérifier en VBA si une valeur de série de graphique est N/A ?

Notez que :
(...)
Dim Ser as Series
(...boucle sur i...)
If IsError(Ser.Values(i)) Then

... ne fonctionne pas !

Merci de votre aide !

Acheron


Avatar
twinley
Bonsoir,

Quelques solutions glanées ça et là ou bien offertes par les pointures du
NG...

If [isna(H12)] Then MsgBox "na !"
Ou bien
Sub na_ou_pana()
If Application.WorksheetFunction.IsNA([h12]) _
= True Then MsgBox "na !"
End Sub

Ou bien
If Evaluate("isna(" & Cells(12, col).Address & ")") Then MsgBox "na est là"
ou
If Evaluate("isna(flux.xls!" & Sheets("Graph1").Cells(12, col).Address &
")") Then
MsgBox "na est là"

Ou double test
col = 8
If Evaluate("and(isna(" & Cells(12, col).Address & "),isna(" &
Cells(12,col).Address & "))") Then
MsgBox "2 na sont là"

Ou
If Evaluate("isna(" & Cells(12, col).Address & ")") = True And _
Evaluate("isna(" & Cells(13, col).Address & ")") = True Then MsgBox "2 na
sont là"

Ou
If (Evaluate("isna(" & Cells(12, col).Address & ")") And _
Evaluate("isna(" & Cells(13, col).Address & ")") ) Then MsgBox " 2 na
sont là"

--
à+twinley
"Acheron" a écrit dans le message de
news:
Bonjour à tous,

Voici ma question :
J'ai
- un graphe (bulles)
- des données (nombres) colorées

J'ai écrit un code qui attribue à chaque bulle la couleur correspondant à
sa

donnée. De plus, le graphe est dynamique. Càd qu'en cas d'absence de
données,

la cellule devient N/A et la colonne est cachée.

Problème : pour attacher à chaque bulle sa couleur, je compare sa valeur
dans le graphe avec celle de sa donnée. En cas d'égalité, la couleur est
attribuée. Mon code bugge sur le N/A. J'ai essayé de lui faire "sauter" la
série en cas d'erreur, mais rien n'y fait.

Le code suivant fonctionne pour la cellule :
(...)
dim vCell as Object
If IsError(vCell) Then (...)

Hélas, ça ne marche pas pareil pour le point du graphique. D'où ma
question

: comment vérifier en VBA si une valeur de série de graphique est N/A ?

Notez que :
(...)
Dim Ser as Series
(...boucle sur i...)
If IsError(Ser.Values(i)) Then

... ne fonctionne pas !

Merci de votre aide !

Acheron