OVH Cloud OVH Cloud

[VBA] if cellule contient #NA then...

12 réponses
Avatar
twinley
Bonsoir,

Dans une cellule H12, j'ai #NA que j'entre volontairement avec Range(zone) =
" = NA( )"
Je souhaite faire un test sur cette cellule

sub fillna( ligne as integer)
if H12 = #NA then
col = H
else
col = G
end if
debzone = "col" & ligne +13
finzone = "col" & ligne +11
zone = "col" & ligne +13 & " : col" & ligne +11
Range (zone) = " = NA( )"
End Sub

Je n'arrive pas à trouver la syntaxe du if H12 = #NA
J'ai tout essayé avec des range, des cells, des " ", des [ ], sauf les
solutions, bien sûr !
Soit dit en passant je ne trouve pas non plus
zone = debzone : finzone
ce qui explique ma solution manuelle qui fct. mais qui manque d'élégance

Un petit coup de main me ferai entrer dans le WE avec le sourire.
Merci pour l'aide
--
à+twinley

2 réponses

1 2
Avatar
twinley
Génial, c'est plus de la concision, c'est de la circoncision...
Merci
--
à+twinley
"AV" a écrit dans le message de
news:
En attendant tu m'enlèves une épine du pied avec plaisir réciproque, le
test


de #NA ne s'invente pas.


On pourrait aussi... :

If [isna(H12)] Then MsgBox "na !"


AV





Avatar
J-Dan
bonjour Twinley,

Puisque vous semblez en jambe
(m'est avis qu'ils sont loin, peut-etre a preparer les

J.O ;-)))

Tu y es presque :

Dim deb As Range
Dim fin As Range
Dim zone As Range
col = "D"
ligne = 1
Set deb = Range(col & ligne)
Set fin = Range(col & ligne + 16)
Set zone = Range(deb, fin)

Ca te va ?

J-Dan


-----Message d'origine-----
Bonjour à tous,

Puisque vous semblez en jambe, comment puis je intégrer
les variable

debzone et finzone dans la var zone.
J'ai décomposé pour finalement le faire à la main.

zone = "col" & ligne +13 & " : col" & ligne +11
Range (zone) = " = NA( )"

ça marche bien mais si je pouvais mettre les var debzone
et finzone dans une

seule var zone sous une forme équivalente à
zone = range(debzone : finzone)

avec
debzone = "col" & ligne +13
finzone = "col" & ligne +11

C'est avec plaisir que je vous pose la question. Merci
pour l'aide.

--
à+twinley
"twinley" <twinleym(at)hotmail.com> a écrit dans le
message de

news:
Bonsoir,

Dans une cellule H12, j'ai #NA que j'entre
volontairement avec Range(zone)


=
" = NA( )"
Je souhaite faire un test sur cette cellule

sub fillna( ligne as integer)
if H12 = #NA then
col = H
else
col = G
end if
debzone = "col" & ligne +13
finzone = "col" & ligne +11
zone = "col" & ligne +13 & " : col" & ligne +11
Range (zone) = " = NA( )"
End Sub

Je n'arrive pas à trouver la syntaxe du if H12 = #NA
J'ai tout essayé avec des range, des cells, des " ",
des [ ], sauf les


solutions, bien sûr !
Soit dit en passant je ne trouve pas non plus
zone = debzone : finzone
ce qui explique ma solution manuelle qui fct. mais qui
manque d'élégance



Un petit coup de main me ferai entrer dans le WE avec
le sourire.


Merci pour l'aide
--
à+twinley





.




1 2