Utilisation de la fonction CurrentRegion

Le
dan
Bonjour à tous,

Pour compter le nombre de LIGNES non vides d'une plage de cellules,
j'utilise le code suivant :

NbLignes = cells(1,1).CurrentRegion.Rows.Count

La plupart du temps, s'il n'y a qu'une seule cellule non vide, Nblignes est
égal à 1.

En faisant des tests, le même code peut renvoyer la valeur correspondant aux
cellules non vides mais en comptant le nombre de COLONNES.
Comment celà peut'il s'expliquer et comment résoudre le problème ?
Ou est l'erreur dans mon code (je veux éviter de sélectionner le nombre de
ligne pluis de les compter).

Merci d'avance à tous.


--
dan
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #16424981
| NbLignes = cells(1,1).CurrentRegion.Rows.Count
*** Impossible que cela puisse te donner le nombre de colonnes
de ta plage sauf si le nombre de colonnes égale le nombre
de ligne

Utilise Cjoint.com pour rendre ton fichier disponible ici.

(Ne publie que la partie de ton fichier démontrant ton observation !)



"dan"
Bonjour à tous,

Pour compter le nombre de LIGNES non vides d'une plage de cellules,
j'utilise le code suivant :

NbLignes = cells(1,1).CurrentRegion.Rows.Count

La plupart du temps, s'il n'y a qu'une seule cellule non vide, Nblignes est
égal à 1.

En faisant des tests, le même code peut renvoyer la valeur correspondant aux
cellules non vides mais en comptant le nombre de COLONNES.
Comment celà peut'il s'expliquer et comment résoudre le problème ?
Ou est l'erreur dans mon code (je veux éviter de sélectionner le nombre de
ligne pluis de les compter).

Merci d'avance à tous.


--
dan
dan
Le #16425251
Merci pour ta réponse mais je ne peux pas joindre le fichier car je ne suis
pas sur mon ordi habituel.

C'est pourtant ce qui m'est arrivé.

Ligne1 = col1, col2, Col3, Col4
NbLignes = cells(1,1).CurrentRegion.Rows.Count = 4

Je précise que la ligne 2 était vierge de toute donnée.

Sinon le même exemple tout à l'heure, le code ci dessous a donné la somme
des lignes et des colonnes des cellules non vides.
J'ai l'impression que ce code ne fonctionne que quand les cellules à droite
sont vides.


--
dan


"michdenis" a écrit :

| NbLignes = cells(1,1).CurrentRegion.Rows.Count
*** Impossible que cela puisse te donner le nombre de colonnes
de ta plage sauf si le nombre de colonnes égale le nombre
de ligne

Utilise Cjoint.com pour rendre ton fichier disponible ici.

(Ne publie que la partie de ton fichier démontrant ton observation !)



"dan"
Bonjour à tous,

Pour compter le nombre de LIGNES non vides d'une plage de cellules,
j'utilise le code suivant :

NbLignes = cells(1,1).CurrentRegion.Rows.Count

La plupart du temps, s'il n'y a qu'une seule cellule non vide, Nblignes est
égal à 1.

En faisant des tests, le même code peut renvoyer la valeur correspondant aux
cellules non vides mais en comptant le nombre de COLONNES.
Comment celà peut'il s'expliquer et comment résoudre le problème ?
Ou est l'erreur dans mon code (je veux éviter de sélectionner le nombre de
ligne pluis de les compter).

Merci d'avance à tous.


--
dan




Francois L
Le #16425331
dan a écrit :

Bonjour,

Je ne parviens pas à reproduire cette erreur... es-tu bien certain que
ta ligne 2 ne contient pas un caractère non visible ?

--
François L


Merci pour ta réponse mais je ne peux pas joindre le fichier car je ne suis
pas sur mon ordi habituel.

C'est pourtant ce qui m'est arrivé.

Ligne1 = col1, col2, Col3, Col4
NbLignes = cells(1,1).CurrentRegion.Rows.Count = 4

Je précise que la ligne 2 était vierge de toute donnée.

Sinon le même exemple tout à l'heure, le code ci dessous a donné la somme
des lignes et des colonnes des cellules non vides.
J'ai l'impression que ce code ne fonctionne que quand les cellules à droite
sont vides.




Modeste
Le #16425491
Bonsour® dan avec ferveur ;o))) vous nous disiez :

NbLignes = cells(1,1).CurrentRegion.Rows.Count


Je précise que la ligne 2 était vierge de toute donnée.
La plupart du temps, s'il n'y a qu'une seule cellule non vide,
Nblignes est égal à 1




ce qui est tout a fait normal dans ce cas !!!
Cette propriété renvoie un objet Range qui représente la zone en cours. Celle-ci est une plage limitée par toute combinaison de lignes et de colonnes vides. En lecture seule.

visualisez la plage CurrentRegion !!!!!

Sub zaza()
Dim xx As Range
Set xx = Selection.CurrentRegion
xx.Select
MsgBox xx.Rows.Count & " ligne(s)" _
& Chr(10) & xx.Columns.Count & " colonne(s)" _
& Chr(10) & xx.Cells.Count & " cellule(s)" _
& Chr(10) & "dont " & Evaluate("=CountA(" & xx.Address & ")") & " documentées", _
vbInformation, _
"A propos de CurrentRegion" & xx.Address
End Sub




?????

--
@+
;o)))
Philippe.R
Le #16425711
Bonjour,
Dans quel module se trouve le code ?
Un module d'une autre feuille, par hasard ?
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"dan" news:
Merci pour ta réponse mais je ne peux pas joindre le fichier car je ne
suis
pas sur mon ordi habituel.

C'est pourtant ce qui m'est arrivé.

Ligne1 = col1, col2, Col3, Col4
NbLignes = cells(1,1).CurrentRegion.Rows.Count = 4

Je précise que la ligne 2 était vierge de toute donnée.

Sinon le même exemple tout à l'heure, le code ci dessous a donné la somme
des lignes et des colonnes des cellules non vides.
J'ai l'impression que ce code ne fonctionne que quand les cellules à
droite
sont vides.


--
dan


"michdenis" a écrit :

| NbLignes = cells(1,1).CurrentRegion.Rows.Count
*** Impossible que cela puisse te donner le nombre de colonnes
de ta plage sauf si le nombre de colonnes égale le nombre
de ligne

Utilise Cjoint.com pour rendre ton fichier disponible ici.

(Ne publie que la partie de ton fichier démontrant ton observation !)



"dan"
Bonjour à tous,

Pour compter le nombre de LIGNES non vides d'une plage de cellules,
j'utilise le code suivant :

NbLignes = cells(1,1).CurrentRegion.Rows.Count

La plupart du temps, s'il n'y a qu'une seule cellule non vide, Nblignes
est
égal à 1.

En faisant des tests, le même code peut renvoyer la valeur correspondant
aux
cellules non vides mais en comptant le nombre de COLONNES.
Comment celà peut'il s'expliquer et comment résoudre le problème ?
Ou est l'erreur dans mon code (je veux éviter de sélectionner le nombre
de
ligne pluis de les compter).

Merci d'avance à tous.


--
dan






lSteph
Le #16425931
Bonjour,

dans ce cas reviens qd il sera disponible.
Sinon si tu ne peux tester à l'appui des solutions proposées essaie de
reproduire les exemples sur un nouvea...

@+

On 28 juil, 13:20, dan
Merci pour ta réponse mais je ne peux pas joindre le fichier car je ne suis
pas sur mon ordi habituel.

C'est pourtant ce qui m'est arrivé.

Ligne1 = col1, col2, Col3, Col4
NbLignes = cells(1,1).CurrentRegion.Rows.Count = 4

Je précise que la ligne 2 était vierge de toute donnée.

Sinon le même exemple tout à l'heure, le code ci dessous a donné la somme
des lignes et des colonnes des cellules non vides.
J'ai l'impression que ce code ne fonctionne que quand les cellules à dr oite
sont vides.

--
dan

"michdenis" a écrit :

> | NbLignes = cells(1,1).CurrentRegion.Rows.Count
> *** Impossible que cela puisse te donner le nombre de colonnes
> de ta plage sauf si le nombre de colonnes égale le nombre
> de ligne

> Utilise Cjoint.com pour rendre ton fichier disponible ici.

> (Ne publie que la partie de ton fichier démontrant ton observation !)

> "dan" >
> Bonjour à tous,

> Pour compter le nombre de LIGNES non vides d'une plage de cellules,
> j'utilise le code suivant :

> NbLignes = cells(1,1).CurrentRegion.Rows.Count

> La plupart du temps, s'il n'y a qu'une seule cellule non vide, Nblignes est
> égal à 1.

> En faisant des tests, le même code peut renvoyer la valeur correspond ant aux
> cellules non vides mais en comptant le nombre de COLONNES.
> Comment celà peut'il s'expliquer et comment résoudre le problème ?
> Ou est l'erreur dans mon code (je veux éviter de sélectionner le no mbre de
> ligne pluis de les compter).

> Merci d'avance à tous.

> --
> dan


dan
Le #16426081
Oui, sur l'ordi que j'utilise actuellement, il n'y a pas d'incohérence.
Sur le mien en revanche, ça déconne à pleins tubes.

C'est pas un problème d'options ?

--
dan


"lSteph" a écrit :

Bonjour,

dans ce cas reviens qd il sera disponible.
Sinon si tu ne peux tester à l'appui des solutions proposées essaie de
reproduire les exemples sur un nouvea...

@+

On 28 juil, 13:20, dan > Merci pour ta réponse mais je ne peux pas joindre le fichier car je ne suis
> pas sur mon ordi habituel.
>
> C'est pourtant ce qui m'est arrivé.
>
> Ligne1 = col1, col2, Col3, Col4
> NbLignes = cells(1,1).CurrentRegion.Rows.Count = 4
>
> Je précise que la ligne 2 était vierge de toute donnée.
>
> Sinon le même exemple tout à l'heure, le code ci dessous a donné la somme
> des lignes et des colonnes des cellules non vides.
> J'ai l'impression que ce code ne fonctionne que quand les cellules à droite
> sont vides.
>
> --
> dan
>
> "michdenis" a écrit :
>
> > | NbLignes = cells(1,1).CurrentRegion.Rows.Count
> > *** Impossible que cela puisse te donner le nombre de colonnes
> > de ta plage sauf si le nombre de colonnes égale le nombre
> > de ligne
>
> > Utilise Cjoint.com pour rendre ton fichier disponible ici.
>
> > (Ne publie que la partie de ton fichier démontrant ton observation !)
>
> > "dan" > >
> > Bonjour à tous,
>
> > Pour compter le nombre de LIGNES non vides d'une plage de cellules,
> > j'utilise le code suivant :
>
> > NbLignes = cells(1,1).CurrentRegion.Rows.Count
>
> > La plupart du temps, s'il n'y a qu'une seule cellule non vide, Nblignes est
> > égal à 1.
>
> > En faisant des tests, le même code peut renvoyer la valeur correspondant aux
> > cellules non vides mais en comptant le nombre de COLONNES.
> > Comment celà peut'il s'expliquer et comment résoudre le problème ?
> > Ou est l'erreur dans mon code (je veux éviter de sélectionner le nombre de
> > ligne pluis de les compter).
>
> > Merci d'avance à tous.
>
> > --
> > dan




Publicité
Poster une réponse
Anonyme