[VBA] Calculer le nombre de ligne d'une plage dynamique

Spacepak

XLDnaute Junior
Bonjour,

j'aimerai pouvoir calculer le nombre d'une plage dynamique et stocker le résultat dans une variable.

Par exemple j'aimerai compter le nombre de ligne de la colonne A allant de A4 à la dernière cellule non vide de cette colonne A.
J'ai essayé ça : variable = Range("A4:A" & Range("A65535").End(xlUp).Rows.count , mais ça ne marche pas..

Pourriez - vous m'aider?
 

Spacepak

XLDnaute Junior
Re : [VBA] Calculer le nombre de ligne d'une plage dynamique

Effectivement je n'avais pas vu! Et celà fonctionne! Merci beaucoup.

D'ailleurs je me permet de vous demander : comment faire pour balayer les cellules de cette même plage dynamique?

Par exemple Je veux créer une variable Range qui prenne toutes les valeurs de cette plage.

Range = Range("A4" ....

Merci de votre aide.
 

Spacepak

XLDnaute Junior
Re : [VBA] Calculer le nombre de ligne d'une plage dynamique

Oui en fait prenons cette variable alors : Var

Donc en fait j'aimerai que Var = toute la plage. Je n'arrive pas à voir comment faire intervenir une boucle dans ce cas là..

Ps : Quand je calcule le nombre de lignes avec votre formule Pierrot93 ça marche mais par contre si je veux calculer le nombre de lignes d'une plage qui se situe dans une autre feuille ça ne marche pas. Même avec Sheets("Feuil2") devant :(
 

Pierrot93

XLDnaute Barbatruc
Re : [VBA] Calculer le nombre de ligne d'une plage dynamique

Re,

il faut spécifier 2 fois la feuille :
Code:
MsgBox Sheets("Feuil2").Range("A4", Sheets("Feuil2").Range("A65535").End(xlUp)).Rows.Count

pour initialiser une variable de type "range", faire précéder de "Set"
Code:
Dim maplage As Range,c As Range
Set maplage = Range("A4", Range("A65535").End(xlUp))
'pour boucler sur cete même plage 
For Each c In maplage

Next c
 

Spacepak

XLDnaute Junior
Re : [VBA] Calculer le nombre de ligne d'une plage dynamique

Merci beaucoup pour votre aide!
Celà m'a pas mal aidé!

Par contre y'a juste une formule que je n'arrive pas à faire marcher :
Set maplage = Range("A4", Range("A65535").End(xlUp))

J'aimerai que ma plage soit égale à une plage située dans une autre feuille j'ai donc fais comme vous avez dit :
Set maplage = Sheets("Feuil2").Range("B1", Sheets("Feuil2").Range("B65535").End(X1up))

Et là ça me fait : Erreur définie par l'application ou par l'objet.
J'ai essayé de faire avec une plage sur la feuille active mais pareil...
 

Pierrot93

XLDnaute Barbatruc
Re : [VBA] Calculer le nombre de ligne d'une plage dynamique

Bonjour,

essaye avec xlup et non x1up...
Code:
Dim maplage As Range
Set maplage = Sheets("Feuil2").Range("B1", Sheets("Feuil2").Range("B65535").End(xlUp))
bon après midi
@+
 

tototiti2008

XLDnaute Barbatruc
Re : [VBA] Calculer le nombre de ligne d'une plage dynamique

Bonjour Spacepak, Bonjour Gilbert, Bonjour Pierrot, :)

J'aimerai que ma plage soit égale à une plage située dans une autre feuille j'ai donc fais comme vous avez dit :
Set maplage = Sheets("Tab1").Range("B1", Sheets("Tab1").Range("B65535").End(X1up))

Et là ça me fait : Erreur définie par l'application ou par l'objet.
J'ai essayé de faire avec une plage sur la feuille active mais pareil...

Essaye

End(xlup)

(en majuscules (XLUP))

Edit : Bing, trop tard ;)
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz