Remplacement d'une formule .cells par un range

Bonjour,

Comment remplacer la ligne suivante: dl = .Cells(Rows.Count, 2).End(xlUp).Row par une plage de données compris entre le range("b2:u31"?

dl= range("b2:u31") ?

merci

Bonjour

Cette formule sert à déterminer où est la dernière ligne du tableau en se basant sur la colonne B

Si tu veux fixer ta plage à 31 elle ne te sert à rien

Ok, mais puis-je limiter la recherche sur la ligne b en indiquant quel doit arrêter à la ligne 31 dans le genre dl = .Cells(Rows.Count, 2, 31).End(xlUp).Row?

Bonsoir,

C'est un défi ? La réponse est dans la question alors, non ?

@ bientôt

LouReeD

RE

Comme dit cette ligne ne sert à rien. C'est dans la suite du code qu'il faut gérer

Au pire tu remplaces par dl=31 mais c'est de la programmation bancale

Je reformule ma question, puis-je partir de la ligne b31 vers le haut?

Bonjour,

oui tu peux, mais pars de la 32 si tu veux que ça s’arrête à la 31 quand tout est rempli.
eric

Je veux partir de la ligne b31 et monter jusqu'à la ligne b2

j'ai essayé .Cells(31, Rows.Count).End(xlUp).Row au lieu de .Cells(Rows.Count, 2).End(xlUp).Row mais cela ne fonctionne pas.

et bien fait comme tu veux...
Et regarde l'aide sur Cells avant de vouloir faire des modifs

C'est pas faux eriiic, il peut faire ce qu'il veut... mais sait-il ce qu'il veut ?

@ bientôt

LouReeD

Bah, il ne veut pas tenir compte des réponses.
Dans ces conditions c'est sans moi...

Bonsoir,

si vous voulez aller de la ligne 31 vers le haut jusqu'à la dernière ligne pleine de cette colonne sans cellule vide entre cette dernière et la ligne 31 alors essayez ceci :
Range(Cells(31, 1), Cells(31, 1).End(xlUp)).Select
Vous obtenez une sélection de cellules non vides contiguës.

@ bientôt

LouReeD

J'abandonne l'idée. Ce ne fonctionnera pas. Merci

Bonsoir,

ci joint un fichier avec une simple boucle avec décrémentation qui part de la ligne 31 vers la ligne 1 et elle s'arrête à la première cellule vide trouvée, puis sélectionne la plage de la dernière ligne pleine testée jusqu'à la ligne 31.
Le fichier :

6loureed.xlsm (15.09 Ko)

@ bientôt

LouReeD

Merci Lou. J'ai essayé mais cette formule ne fonctionnera pas car je travaille à partir d'un tableau de 31 lignes et 20 colonnes (numéros). Je voulais trouver une façon d'encadrer mon tableau pour les données car si je mets des données sous le tableau la macro ne fonctionne plus.

dl = .Cells(Rows.Count, 2).End(xlUp).Row

 tb = .Cells(4, 2).Resize(dl - 4, 20).Value

 Dim ctr(70, 2)

 For i = 1 To [AA25]

 ctr(i, 1) = i

 ctr(i, 2) = Application.WorksheetFunction.CountIf(.Cells(4, 2).Resize(dl - 4, 20), i)

 Next i

Bonsoir,

là vous m'avez perdu !
Auriez vous un fichier à fournir ? Anonymisé bien sûr !

@ bientôt

LouReeD

Merci Lou pour ton aide mais je travaille sur une autre formule plus simple.

Pas de soucis !

@ bientôt

LouReeD

Rechercher des sujets similaires à "remplacement formule range"