Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sélectionner des lignes limitées de bas en haut par 2 cell non v id

5 réponses
Avatar
jiffey
Bonjour,

Voici le problème :

Dans la colonne C, j'ai 2 cellules non vides au rang n et m (n et m étant
des variables. En dehors de Cn et Cm, toutes les cellules de la colonnes C
sont vides.

=> J'aimerais sélectionner les lignes limitées par ces 2 cellules.

Est-ce possible ?


J'ai essayé qqch avec la formule : Range("C10000").End(xlUp).Select
Mais pas réussi à aller au bout de ce que je souhaite.


Merci beaucoup d'avance !

Slts

JF

5 réponses

Avatar
Ellimac
Bonjour,

Range(Cells(n, 3), Cells(m, 3)).Select

Camille

"jiffey" wrote:

Bonjour,

Voici le problème :

Dans la colonne C, j'ai 2 cellules non vides au rang n et m (n et m étant
des variables. En dehors de Cn et Cm, toutes les cellules de la colonnes C
sont vides.

=> J'aimerais sélectionner les lignes limitées par ces 2 cellules.

Est-ce possible ?


J'ai essayé qqch avec la formule : Range("C10000").End(xlUp).Select
Mais pas réussi à aller au bout de ce que je souhaite.


Merci beaucoup d'avance !

Slts

JF


Avatar
jiffey
Merci Ellimac, mais ce n'est pas tout à fait aussi simple que cela ;-)

En fait, le problème c'est que je dois avant cela détecter les 2 cellules en
question (les rangs n & m étant des variables).

Et après sélectionner les lignes limitées en haut et en bas par ces 2
cellules. Mon premier message je pense est assez clair.

Merci d'avance !

Slts

JF


Bonjour,

Range(Cells(n, 3), Cells(m, 3)).Select

Camille

"jiffey" wrote:

Bonjour,

Voici le problème :

Dans la colonne C, j'ai 2 cellules non vides au rang n et m (n et m étant
des variables. En dehors de Cn et Cm, toutes les cellules de la colonnes C
sont vides.

=> J'aimerais sélectionner les lignes limitées par ces 2 cellules.

Est-ce possible ?


J'ai essayé qqch avec la formule : Range("C10000").End(xlUp).Select
Mais pas réussi à aller au bout de ce que je souhaite.


Merci beaucoup d'avance !

Slts

JF




Avatar
garnote
Salut Jiffrey,

Il y a sûrement plus simple et plus rapide mais
ça semble fonctionner.

Sub essai()
Dim n(1 To 2)
For Each c In [C:C]
If c <> "" Then
i = i + 1
n(i) = c.Row
End If
If i = 2 Then Exit For
Next c
Range(Cells(n(1), 3), Cells(n(2), 3)).Select
End Sub

Serge


"jiffey" a écrit dans le message de news:
Bonjour,

Voici le problème :

Dans la colonne C, j'ai 2 cellules non vides au rang n et m (n et m étant
des variables. En dehors de Cn et Cm, toutes les cellules de la colonnes C
sont vides.

=> J'aimerais sélectionner les lignes limitées par ces 2 cellules.

Est-ce possible ?


J'ai essayé qqch avec la formule : Range("C10000").End(xlUp).Select
Mais pas réussi à aller au bout de ce que je souhaite.


Merci beaucoup d'avance !

Slts

JF


Avatar
anonymousA
Bonjour,

pour selectionner les lignes situées entre la ligne m et la ligne n. On
suppose donc ici que m est inférieur ou égal à n et que la colonne
concernée est la colonne A donc d'index 1 . Dans le cas contraire , il
faudra inverser les propositions pour avoir m et n.

m = IIf(IsEmpty(Cells(1, 1)), Range("A1").End(xlDown).Row, 1)
n = IIf(IsEmpty(Cells(65536, 1)), Range("A65536").End(xlUp).Row, 65536)

Range(Cells(m, 1), Cells(n, 1)).Select

Pour sélectionner les lignes au dessus de m et au dessous de n ( selon
la même hypothèse d'infériorité de m et de n )

m = IIf(IsEmpty(Cells(1, 1)), Range("A1").End(xlDown).Row, 1)
n = IIf(IsEmpty(Cells(65536, 1)), Range("A65536").End(xlUp).Row, 65536)

set rng=union (Range(cells(1,1),cells(m,1)),
range(cells(n,1),cells(65536,1)))

A+

Merci Ellimac, mais ce n'est pas tout à fait aussi simple que cela ;-)

En fait, le problème c'est que je dois avant cela détecter les 2 cellules en
question (les rangs n & m étant des variables).

Et après sélectionner les lignes limitées en haut et en bas par ces 2
cellules. Mon premier message je pense est assez clair.

Merci d'avance !

Slts

JF


Bonjour,

Range(Cells(n, 3), Cells(m, 3)).Select

Camille

"jiffey" wrote:

Bonjour,

Voici le problème :

Dans la colonne C, j'ai 2 cellules non vides au rang n et m (n et m étant
des variables. En dehors de Cn et Cm, toutes les cellules de la colonnes C
sont vides.

=> J'aimerais sélectionner les lignes limitées par ces 2 cellules.

Est-ce possible ?


J'ai essayé qqch avec la formule : Range("C10000").End(xlUp).Select
Mais pas réussi à aller au bout de ce que je souhaite.


Merci beaucoup d'avance !

Slts

JF






Avatar
anonymousA
et rng.select dans le 2eme cs bien entendu.
ou union (Range(cells(1,1),cells(m,1)),
range(cells(n,1),cells(65536,1))).select

A+

Bonjour,

pour selectionner les lignes situées entre la ligne m et la ligne n. On
suppose donc ici que m est inférieur ou égal à n et que la colonne
concernée est la colonne A donc d'index 1 . Dans le cas contraire , il
faudra inverser les propositions pour avoir m et n.

m = IIf(IsEmpty(Cells(1, 1)), Range("A1").End(xlDown).Row, 1)
n = IIf(IsEmpty(Cells(65536, 1)), Range("A65536").End(xlUp).Row, 65536)

Range(Cells(m, 1), Cells(n, 1)).Select

Pour sélectionner les lignes au dessus de m et au dessous de n ( selon
la même hypothèse d'infériorité de m et de n )

m = IIf(IsEmpty(Cells(1, 1)), Range("A1").End(xlDown).Row, 1)
n = IIf(IsEmpty(Cells(65536, 1)), Range("A65536").End(xlUp).Row, 65536)

set rng=union (Range(cells(1,1),cells(m,1)),
range(cells(n,1),cells(65536,1)))

A+

Merci Ellimac, mais ce n'est pas tout à fait aussi simple que cela ;-)

En fait, le problème c'est que je dois avant cela détecter les 2
cellules en question (les rangs n & m étant des variables).

Et après sélectionner les lignes limitées en haut et en bas par ces 2
cellules. Mon premier message je pense est assez clair.

Merci d'avance !

Slts

JF


Bonjour,

Range(Cells(n, 3), Cells(m, 3)).Select

Camille

"jiffey" wrote:

Bonjour,

Voici le problème :
Dans la colonne C, j'ai 2 cellules non vides au rang n et m (n et m
étant des variables. En dehors de Cn et Cm, toutes les cellules de
la colonnes C sont vides.

=> J'aimerais sélectionner les lignes limitées par ces 2 cellules.

Est-ce possible ?

J'ai essayé qqch avec la formule : Range("C10000").End(xlUp).Select
Mais pas réussi à aller au bout de ce que je souhaite.


Merci beaucoup d'avance !

Slts

JF