utilisation en vba des noms de zone (nb de valeurs, indices etc)

2 réponses
Avatar
Alfred WALLACE
bonjour,
j'ai nomm=E9 des zones dans ma feuille
et j'aimerai utiliser ces noms dans mon code vba

par exemple, une zone B11 je l'ai appel=E9 titre_reunion, ce qui
me permet dans mon code de tester par exemple :

if [titre_reunion].value <> "" then ...

par contre, j'ai une plage nomm=E9e zone_sujets

et j'aimerai savoir combien de cellules sont remplies dans
cette plage, j'ai test=E9 [zone_sujets].count et l=E0 mon test ne
fonctionne pas :
If [zone_sujets].Count > 0 Then est VRAI meme si la zone
est vide.

et enfin, j'aimerai savoir si, dans la zone nomm=E9e "zone_sujets"
qui concerne plusieurs lignes, je peux y acceder avec
un indice une sorte de [zone_sujets].(x,y).value ou x serait
le nombre de ligne et y le nombre (=E9ventuel) de colonnes.

merci pour votre aide et =E9clairage !

Jos=E9

2 réponses

Avatar
DanielCo
Bonjour,
1. Tu dois mettre :

Var = Application.CountA([zone_sujets])

pour compter les cellules non vides. La méthode Count renvoie le nombre
de cellule de la plage.
2. Tu peux utiliser cette syntaxe :

Var = Range("zone_sujets")(1, 1)

sauf si ta plage nommée est composée d'éléments non contigus, auquel
cas, tu devras utiliser "Areas", chacune représantant une plage
contiguë de cellules.

Daniel

Alfred WALLACE a écrit
bonjour,
j'ai nommé des zones dans ma feuille
et j'aimerai utiliser ces noms dans mon code vba

par exemple, une zone B11 je l'ai appelé titre_reunion, ce qui
me permet dans mon code de tester par exemple :

if [titre_reunion].value <> "" then ...

par contre, j'ai une plage nommée zone_sujets

et j'aimerai savoir combien de cellules sont remplies dans
cette plage, j'ai testé [zone_sujets].count et là mon test ne
fonctionne pas :
If [zone_sujets].Count > 0 Then est VRAI meme si la zone
est vide.

et enfin, j'aimerai savoir si, dans la zone nommée "zone_sujets"
qui concerne plusieurs lignes, je peux y acceder avec
un indice une sorte de [zone_sujets].(x,y).value ou x serait
le nombre de ligne et y le nombre (éventuel) de colonnes.

merci pour votre aide et éclairage !

José
Avatar
Alfred WALLACE
Merci DanielCo !


José



On 1 juil, 11:22, DanielCo wrote:
Bonjour,
1. Tu dois mettre :

Var = Application.CountA([zone_sujets])

pour compter les cellules non vides. La méthode Count renvoie le nombre
de cellule de la plage.
2. Tu peux utiliser cette syntaxe :

Var = Range("zone_sujets")(1, 1)

sauf si ta plage nommée est composée d'éléments non contigus, auq uel
cas, tu devras utiliser "Areas", chacune représantant une plage
contiguë de cellules.

Daniel

Alfred WALLACE a écrit







> bonjour,
> j'ai nommé  des zones dans ma feuille
> et j'aimerai utiliser ces noms dans mon code vba

> par exemple, une zone B11 je l'ai appelé titre_reunion, ce qui
> me permet dans mon code de tester par exemple :

> if [titre_reunion].value <> "" then ...

> par contre, j'ai une plage nommée zone_sujets

> et j'aimerai savoir combien de cellules sont remplies dans
> cette plage, j'ai testé [zone_sujets].count et là mon test ne
> fonctionne pas :
> If [zone_sujets].Count > 0 Then  est VRAI meme si la zone
> est vide.

> et enfin, j'aimerai savoir si, dans la zone nommée "zone_sujets"
> qui concerne plusieurs lignes, je peux y acceder avec
> un indice une sorte de [zone_sujets].(x,y).value ou x serait
> le nombre de ligne et y le nombre (éventuel) de colonnes.

> merci pour votre aide et éclairage !

> José