OVH Cloud OVH Cloud

selection partielle de ActiveCell.CurrentRegion

47 réponses
Avatar
J
Bonjour (XL2000)VBA
j'ai des range construits sur le même modèle, (colonne A à F) mais d'un
nombre de lignes variables.
le nombre de ces range est variable.

Quand j'ai une cellule d'un range qui est sélectionnée, je sais
sélectionner tout le bloc : ActiveCell.CurrentRegion.Select

Mais comment sélectionner seulement "de la 1ere cellule de la colonne B
à la dernière cellule de la colle F" de cette CurrentRegion?

merci,à tous et bon dimanche
@+
J@@

10 réponses

1 2 3 4 5
Avatar
jps
heureusement que la sélection n'est que partielle....qu'en aurait-il été si
elle avait dû être totale? : nous en sommes quand même et avec celui-ci
(probablement le plus éminent d'ailleurs) au 30ième post pour cette ficelle
qui prend la forme d'un gros câble...plus qu'à amarrer le bateau dans le
lagon et nous faire payer un coup par le plombier tahitien
jps

"J@@" a écrit dans le message de news:

Bon lundi lSteph
je ne suis guère meilleur, -pour la plomberie, que -pour VBA, que -pour
les explications.
Je pensais, avec la solution à ma question initiale, me débrouiller tout
seul après, mais en testant, je ne parviens pas à modifier les
propositions pour cadrer sur ce que je veux.

à mon grand étonnement, il n'y a rien en F au delà du titre
c'est moi qui ai toiletté un peu vite, mais il arrive qu'il y ait du rab,

ex : test en G5, ou qu'il y ait des blancs dans les saisies, sauf en A, B
et C.

les matrices arrivent au même niveau sur chaque ligne , donc sauf erreur
les codes précédents paraissent opèrer selon la première demande.
L'objectif contenu dans le cadre s'éloigne vivement de ce que j'avais cru
comprendre, faut-il le considèrer?.
je cherche sur le forum des pistes, pas trop pointillées, puis j'adapte,

quand je peux, et parfois je patine...
le descriptif du cadre est bon.

Quand tu auras réparé ta fuite d'eau, j'aurais rejoint les bras de
morphée....
j'ai résolu les fuites d'évacuations de l'évier, pas celles de l'alim. Les

bricoleurs du dimanche...

Aussi comme pour moi le Dimanche touche à sa fin,
tu peux indiquer toutes précisions pour ceux qui ont encore un oeil
ouvert.

Je te souhaite, d'avance...

Bonne nuit.

lSteph
Apparemment tu n'es pas le seul qui s'est emmêlé dans mes explications ;-)

Merci et bon réveil à toi :-)
@+
J@@


"J@@"
Je reposte, mon envoi précédent s'est perdu tout en bas :-<<<
merci à toi lSteph

Rebonjour lSteph
c'est moins bien ;-)
ta 1ere solution était plus proche, j'ai beau donner des coups de
tournevis dans tous les sens, je n'améliore rien.
Et en plus (mais ce n'est pas à cause de cela) j'ai une fuite d'eau dans
la cuisine, faut que je coure chercher la boîte à outils :-<

j'ai mis un embryon de fichier sur cjoint

http://cjoint.com/?iBv0kK7N4a

Bonne soirée (matinée pour moi, j'ai le dimanche devant moi :-))
@+
J@@


Re, J@@

Sub CurRegSaufPremCol()
With ActiveCell.CurrentRegion
If Not IsEmpty(.Cells(.Cells.Count)) Then
Range(.Cells(1).Offset(1, 1), .Cells(.Cells.Count)).Select
Else
Range(.Cells(1).Offset(1, 1), .Cells(.Cells.Count).End(xlUp)).Select
End If
End With
End Sub

"J@@" <
ta réponse sélectionne en effet, dans CurrentRegion, depuis la 1ere
cellule de B, mais va jusqu'au bout de la CurrentRegion, alors que je
voudrais sélectionner "que" jusqu'à la dernière cellule de la colonne
F de cette CurrentRegion.

Par ailleurs, en vrai de vrai, je voulais sélectionné depuis le *2ème*
cellule de B, je pensai adapter aisément le code, et beh ... je ne
vois pas comment.

Bonjour J@@,

Ceci irait-il:

Sub CurRegSaufPremCol()
With ActiveCell.CurrentRegion
Range(.Cells(2), .Cells(.Cells.Count)).Select
End With
End Sub

"J@@" <
Bonjour (XL2000)VBA
j'ai des range construits sur le même modèle, (colonne A à F) mais
d'un nombre de lignes variables. le nombre de ces range est
variable.

Quand j'ai une cellule d'un range qui est sélectionnée, je sais
sélectionner tout le bloc : ActiveCell.CurrentRegion.Select

Mais comment sélectionner seulement "de la 1ere cellule de la
colonne B à la dernière cellule de la colle F" de cette
CurrentRegion?














Avatar
J
Bonjour jps ;-))
et encore tu n'a pas vu la suite de mon projet (qui avance
gentiment)quand je suis à "next Sexe.activate" ;-))
dans le signal de fumée adressé à 21:31 Tuamotu time à FL
mais c'est encore à améliorer ...
:-)
je vais voir Morphée :-)

heureusement que la sélection n'est que partielle....qu'en aurait-il été
si elle avait dû être totale? : nous en sommes quand même et avec
celui-ci (probablement le plus éminent d'ailleurs) au 30ième post pour
cette ficelle qui prend la forme d'un gros câble...plus qu'à amarrer le
bateau dans le lagon et nous faire payer un coup par le plombier tahitien
jps

"J@@" a écrit dans le message de news:

Bon lundi lSteph
je ne suis guère meilleur, -pour la plomberie, que -pour VBA, que
-pour les explications.
Je pensais, avec la solution à ma question initiale, me débrouiller
tout seul après, mais en testant, je ne parviens pas à modifier les
propositions pour cadrer sur ce que je veux.

à mon grand étonnement, il n'y a rien en F au delà du titre
c'est moi qui ai toiletté un peu vite, mais il arrive qu'il y ait du

rab, ex : test en G5, ou qu'il y ait des blancs dans les saisies, sauf
en A, B et C.

les matrices arrivent au même niveau sur chaque ligne , donc sauf erreur
les codes précédents paraissent opèrer selon la première demande.
L'objectif contenu dans le cadre s'éloigne vivement de ce que j'avais
cru comprendre, faut-il le considèrer?.
je cherche sur le forum des pistes, pas trop pointillées, puis

j'adapte, quand je peux, et parfois je patine...
le descriptif du cadre est bon.

Quand tu auras réparé ta fuite d'eau, j'aurais rejoint les bras de
morphée....
j'ai résolu les fuites d'évacuations de l'évier, pas celles de l'alim.

Les bricoleurs du dimanche...

Aussi comme pour moi le Dimanche touche à sa fin,
tu peux indiquer toutes précisions pour ceux qui ont encore un oeil
ouvert.

Je te souhaite, d'avance...

Bonne nuit.

lSteph
Apparemment tu n'es pas le seul qui s'est emmêlé dans mes explications

;-)
Merci et bon réveil à toi :-)
@+
J@@


"J@@"
Je reposte, mon envoi précédent s'est perdu tout en bas :-<<<
merci à toi lSteph

Rebonjour lSteph
c'est moins bien ;-)
ta 1ere solution était plus proche, j'ai beau donner des coups de
tournevis dans tous les sens, je n'améliore rien.
Et en plus (mais ce n'est pas à cause de cela) j'ai une fuite d'eau
dans la cuisine, faut que je coure chercher la boîte à outils :-<

j'ai mis un embryon de fichier sur cjoint

http://cjoint.com/?iBv0kK7N4a

Bonne soirée (matinée pour moi, j'ai le dimanche devant moi :-))
@+
J@@


Re, J@@

Sub CurRegSaufPremCol()
With ActiveCell.CurrentRegion
If Not IsEmpty(.Cells(.Cells.Count)) Then
Range(.Cells(1).Offset(1, 1), .Cells(.Cells.Count)).Select
Else
Range(.Cells(1).Offset(1, 1), .Cells(.Cells.Count).End(xlUp)).Select
End If
End With
End Sub

"J@@" <
ta réponse sélectionne en effet, dans CurrentRegion, depuis la
1ere cellule de B, mais va jusqu'au bout de la CurrentRegion,
alors que je voudrais sélectionner "que" jusqu'à la dernière
cellule de la colonne F de cette CurrentRegion.

Par ailleurs, en vrai de vrai, je voulais sélectionné depuis le
*2ème* cellule de B, je pensai adapter aisément le code, et beh
... je ne vois pas comment.

Bonjour J@@,

Ceci irait-il:

Sub CurRegSaufPremCol()
With ActiveCell.CurrentRegion
Range(.Cells(2), .Cells(.Cells.Count)).Select
End With
End Sub

"J@@" <
Bonjour (XL2000)VBA
j'ai des range construits sur le même modèle, (colonne A à F)
mais d'un nombre de lignes variables. le nombre de ces range est
variable.

Quand j'ai une cellule d'un range qui est sélectionnée, je sais
sélectionner tout le bloc : ActiveCell.CurrentRegion.Select

Mais comment sélectionner seulement "de la 1ere cellule de la
colonne B à la dernière cellule de la colle F" de cette
CurrentRegion?

















Avatar
FL
Après avoir créé une feuille résultat, essaies ce code
tes valeurs vont se retrouver les unes à la suite des autres. il suffira de
rajouter ce que tu veux.

Sub b()
For ligne = 1 To Range("A65536").End(xlUp).Row
If Range("A" & ligne) = "Sexe : F" Then
Range("A" & ligne).Offset(2).Select
While ActiveCell.Offset(i) <> "": i = i - 1: Wend
While ActiveCell.Offset(j) <> "": j = j + 1: Wend
ligne1 = ActiveCell.Row + i + 2: ligne2 = ActiveCell.Row + j - 1
Range("B" & ligne1 & ":F" & ligne2).Copy
Sheets("résultat").Select
Range("A65536").End(xlUp).Offset(1).Select
ActiveSheet.Paste
Sheets("liste_test").Select
ElseIf Range("A" & ligne) = "Sexe : M" Then
Range("A" & ligne).Offset(2).Select
While ActiveCell.Offset(i) <> "": i = i - 1: Wend
While ActiveCell.Offset(j) <> "": j = j + 1: Wend
ligne1 = ActiveCell.Row + i + 2: ligne2 = ActiveCell.Row + j - 1
Range("B" & ligne1 & ":F" & ligne2).Copy
Sheets("résultat").Select
Range("A65536").End(xlUp).Offset(1).Select
ActiveSheet.Paste
Sheets("liste_test").Select
End If
Next ligne
End Sub

Cordialement
FL
"J@@" a écrit dans le message de news:

Bonjour FL
C'est bon. J'ai intégré ton code dans mon ébauche, que voici :
Question complémentaire :
Je souhaite sélectionner (puis copier) successivement chacune de ces zones
existant dans la feuille.
Comme chaque zone correspond à un groupe "Sexe : F" ou "Sexe : M", comment
faire pour
For each "sexe" then etc
Next sexe
(Ca fait un peu bizarre, je sais ...
Merci pour les idées
@+
cordialement
J@@

'****
Sub test_suite()
Dim Rg As Range
On Error Resume Next
With Worksheets("Liste_test")
Set Rg = .Range("A1:A" &
.Range("A65356").End(xlUp).Row).Find("Sexe").Offset(3, 1)
If Not Rg Is Nothing Then
Rg.Select
'codeFL
While ActiveCell.Offset(i) <> ""
i = i - 1
Wend
While ActiveCell.Offset(j) <> ""
j = j + 1
Wend
ligne1 = ActiveCell.Row + i + 2
ligne2 = ActiveCell.Row + j - 1
Range("B" & ligne1 & ":F" & ligne2).Select
'codeFL
End If
End With
Set Rg = Nothing
End Sub
'****

avec le code suivant, la première ligne n'est pas sélectionnée.

Sub a()
While ActiveCell.Offset(i) <> ""
i = i - 1
Wend
While ActiveCell.Offset(j) <> ""
j = j + 1
Wend
ligne1 = ActiveCell.Row + i + 2
ligne2 = ActiveCell.Row + j - 1
Range("B" & ligne1 & ":F" & ligne2).Select
End Sub

Cordialement
FL

"J@@" <
Bonjour FxM
merci pour la réponse
ton code fonctionne après une discrète retouche, saurais-tu (en plus
;-) )comment l'adapter pour qu'il *ne sélectionne pas* la 1ere ligne de
cette CurrentRegion?
STP

Sub test2()
Dim zone As Range
Set zone = Intersect(ActiveCell.CurrentRegion,
Range("B1:F1").EntireColumn)
If Not zone Is Nothing Then zone.Select
End Sub

J'en bave avec mes explications filandreuses, qui semblent avoir
effondrées du monde ;-)
Mon dimanche s'achevant, je ne vais pas tarder à rejoindre Morphée et
ses célèbres bras :-)
@+
J@@

Bonsoir J@@,

Non testé (comme d'hab dirait JPS) :

sub test()
'sur une seule ligne
set zone =
intersect(activecell.currentregion,range("A1:F1").entirecolumn)
'jusqu'ici

if not isnothing(zone) then zone.select
end sub

Bonjour (XL2000)VBA
j'ai des range construits sur le même modèle, (colonne A à F) mais
d'un nombre de lignes variables.
le nombre de ces range est variable.

Quand j'ai une cellule d'un range qui est sélectionnée, je sais
sélectionner tout le bloc : ActiveCell.CurrentRegion.Select

Mais comment sélectionner seulement "de la 1ere cellule de la colonne
B à la dernière cellule de la colle F" de cette CurrentRegion?











Avatar
FL
dans le code, il fallait bien sûr initialiser i et j à 1,

Sub b()
Sheets("résultat").Range("A1:G65536").Delete
For ligne = 1 To Range("A65536").End(xlUp).Row
i = 1: j = 1
If Range("A" & ligne) = "Sexe : F" Then
Range("A" & ligne).Offset(2).Select
While ActiveCell.Offset(i) <> "": i = i - 1: Wend
While ActiveCell.Offset(j) <> "": j = j + 1: Wend
ligne1 = ActiveCell.Row + i + 2: ligne2 = ActiveCell.Row + j - 1
Range("B" & ligne1 & ":F" & ligne2).Copy
Sheets("résultat").Select
Range("A65536").End(xlUp).Offset(1).Select
ActiveSheet.Paste
Sheets("liste_test").Select
ElseIf Range("A" & ligne) = "Sexe : M" Then
Range("A" & ligne).Offset(2).Select
While ActiveCell.Offset(i) <> "": i = i - 1: Wend
While ActiveCell.Offset(j) <> "": j = j + 1: Wend
ligne1 = ActiveCell.Row + i + 2: ligne2 = ActiveCell.Row + j - 1
Range("B" & ligne1 & ":F" & ligne2).Copy
Sheets("résultat").Select
Range("A65536").End(xlUp).Offset(1).Select
ActiveSheet.Paste
Sheets("liste_test").Select
End If
Next ligne
End Sub

Cordialement
FL
Avatar
Modeste
Aué titoï Jps avec ferveur ;o))) vous nous disiez :

nous faire payer un coup par le plombier tahitien


cela frise l'amalgame ...;o)))
à ce jeu le Jean-François à quelques longueurs d'avance...
à titiller la roulette tu va finir par te prendre le davier dans les dents !!!

Avatar
jps
::-))))))
jps

"Modeste" a écrit dans le message de news:

Aué titoï Jps avec ferveur ;o))) vous nous disiez :

nous faire payer un coup par le plombier tahitien


cela frise l'amalgame ...;o)))
à ce jeu le Jean-François à quelques longueurs d'avance...
à titiller la roulette tu va finir par te prendre le davier dans les dents
!!!









Avatar
FxM
Bonjour J@@ (Jean-François ?),

Cette fois, testé sous Excel 2002 Fr (v10.2614.2625)

* je n'ai pas de problème avec le 'is nothing'
* pour ce qui est d'oublier la première ligne :
zone(1) est la première cellule de la zone,
zone(zone.cells.count) est la dernière,
- Reste à décaler le début -> prenons l'offset(1,0) de la première
cellule (donc la cellule juste en-dessous)
- il faut prendre les adresses et non les cellules et donc ajouter un
.address quelque part

Ce qui te donne (attention aux coupures de lignes) :
Sub test2()
Dim zone As Range

'une seule ligne
Set zone = Intersect(ActiveCell.CurrentRegion,
Range("B1:F1").EntireColumn)

If Not zone Is Nothing Then

'une seule ligne
Set zone = Range(zone(1).Offset(1, 0).Address,
zone(zone.Cells.Count).Address)

zone.Select
End If
End Sub


Fais une bise à Morphée si tu veux puis essaie ensuite :o)

@+
FxM
PS : (je ne sais si on t'a dit, Morphée est ... un mec !)



Bonjour FxM
merci pour la réponse
ton code fonctionne après une discrète retouche, saurais-tu (en plus ;-)
)comment l'adapter pour qu'il *ne sélectionne pas* la 1ere ligne de
cette CurrentRegion?
STP

Sub test2()
Dim zone As Range
Set zone = Intersect(ActiveCell.CurrentRegion,
Range("B1:F1").EntireColumn)
If Not zone Is Nothing Then zone.Select
End Sub

J'en bave avec mes explications filandreuses, qui semblent avoir
effondrées du monde ;-)
Mon dimanche s'achevant, je ne vais pas tarder à rejoindre Morphée et
ses célèbres bras :-)
@+
J@@

Bonsoir J@@,

Non testé (comme d'hab dirait JPS) :

sub test()
'sur une seule ligne
set zone =
intersect(activecell.currentregion,range("A1:F1").entirecolumn)
'jusqu'ici

if not isnothing(zone) then zone.select
end sub

Bonjour (XL2000)VBA
j'ai des range construits sur le même modèle, (colonne A à F) mais
d'un nombre de lignes variables.
le nombre de ces range est variable.

Quand j'ai une cellule d'un range qui est sélectionnée, je sais
sélectionner tout le bloc : ActiveCell.CurrentRegion.Select

Mais comment sélectionner seulement "de la 1ere cellule de la
colonne B à la dernière cellule de la colle F" de cette CurrentRegion?






Avatar
isabelle
bonjour J@@,

Sub Macro1()
For Each c In Range("B1:F65536")
If Not IsEmpty(c) Then
p = c.Row
Exit For
End If
Next
Lx = Range("B1:F65536").Find("*", [B1], xlValues, , xlByRows, xlPrevious).Row
Range("B" & p & ":F" & Lx).Select
End Sub

isabelle

Bonjour FL
C'est bon. J'ai intégré ton code dans mon ébauche, que voici :
Question complémentaire :
Je souhaite sélectionner (puis copier) successivement chacune de ces
zones existant dans la feuille.
Comme chaque zone correspond à un groupe "Sexe : F" ou "Sexe : M",
comment faire pour
For each "sexe" then etc
Next sexe
(Ca fait un peu bizarre, je sais ...
Merci pour les idées
@+
cordialement
J@@

'****
Sub test_suite()
Dim Rg As Range
On Error Resume Next
With Worksheets("Liste_test")
Set Rg = .Range("A1:A" &
.Range("A65356").End(xlUp).Row).Find("Sexe").Offset(3, 1)
If Not Rg Is Nothing Then
Rg.Select
'codeFL
While ActiveCell.Offset(i) <> ""
i = i - 1
Wend
While ActiveCell.Offset(j) <> ""
j = j + 1
Wend
ligne1 = ActiveCell.Row + i + 2
ligne2 = ActiveCell.Row + j - 1
Range("B" & ligne1 & ":F" & ligne2).Select
'codeFL
End If
End With
Set Rg = Nothing
End Sub
'****


avec le code suivant, la première ligne n'est pas sélectionnée.

Sub a()
While ActiveCell.Offset(i) <> ""
i = i - 1
Wend
While ActiveCell.Offset(j) <> ""
j = j + 1
Wend
ligne1 = ActiveCell.Row + i + 2
ligne2 = ActiveCell.Row + j - 1
Range("B" & ligne1 & ":F" & ligne2).Select
End Sub

Cordialement
FL

"J@@" <

Bonjour FxM
merci pour la réponse
ton code fonctionne après une discrète retouche, saurais-tu (en plus
;-) )comment l'adapter pour qu'il *ne sélectionne pas* la 1ere ligne
de cette CurrentRegion?
STP

Sub test2()
Dim zone As Range
Set zone = Intersect(ActiveCell.CurrentRegion,
Range("B1:F1").EntireColumn)
If Not zone Is Nothing Then zone.Select
End Sub

J'en bave avec mes explications filandreuses, qui semblent avoir
effondrées du monde ;-)
Mon dimanche s'achevant, je ne vais pas tarder à rejoindre Morphée et
ses célèbres bras :-)
@+
J@@


Bonsoir J@@,

Non testé (comme d'hab dirait JPS) :

sub test()
'sur une seule ligne
set zone =
intersect(activecell.currentregion,range("A1:F1").entirecolumn)
'jusqu'ici

if not isnothing(zone) then zone.select
end sub


Bonjour (XL2000)VBA
j'ai des range construits sur le même modèle, (colonne A à F) mais
d'un nombre de lignes variables.
le nombre de ces range est variable.

Quand j'ai une cellule d'un range qui est sélectionnée, je sais
sélectionner tout le bloc : ActiveCell.CurrentRegion.Select

Mais comment sélectionner seulement "de la 1ere cellule de la
colonne B à la dernière cellule de la colle F" de cette CurrentRegion?













Avatar
J
Bonjour FxM
La ta proc fonctionne (même sous Xl2K v.9.0.6926 SP3)
et je peux jongler avec les robinets pour adapter le champ sélectionné.
impeccable (les Wend de FL ont aussi l'air de faire leur boulot)

PS : (je ne sais si on t'a dit, Morphée est ... un mec !)
Gaaaarrghhhh !

Personne me dit jamais rien!! :-[

@+
Je poursuis ma proc (dans la mesure des rares minutes que je pourrais
trouver aujourdhui, sinon ce soir à la maison)
Amicalement
JF



FxM wrote:
Bonjour J@@ (Jean-François ?),
oui :-)

Cette fois, testé sous Excel 2002 Fr (v10.2614.2625)

* je n'ai pas de problème avec le 'is nothing'
* pour ce qui est d'oublier la première ligne :
zone(1) est la première cellule de la zone,
zone(zone.cells.count) est la dernière,
- Reste à décaler le début -> prenons l'offset(1,0) de la première
cellule (donc la cellule juste en-dessous)
- il faut prendre les adresses et non les cellules et donc ajouter un
..address quelque part

Ce qui te donne (attention aux coupures de lignes) :
Sub test2()
Dim zone As Range

'une seule ligne
Set zone = Intersect(ActiveCell.CurrentRegion,
Range("B1:F1").EntireColumn)

If Not zone Is Nothing Then

'une seule ligne
Set zone = Range(zone(1).Offset(1, 0).Address,
zone(zone.Cells.Count).Address)

zone.Select
End If
End Sub


Fais une bise à Morphée si tu veux puis essaie ensuite :o)

@+
FxM
PS : (je ne sais si on t'a dit, Morphée est ... un mec !)



Avatar
J
Bonjour Isabelle
et merci pour ta proposition
mais je cheche à sélectionner seulement les zones de chaque
CurrentRegion de saisie, moins la colonne A et la ligne 1 de ces
CurrentRegion.
La proposition de FxM et de FL font cela.
je poursuis le travail qui vise à sélectionner les différentes
Currentregion pour en copier les valeurs ailleurs.
@+
amitiés à la Belle Province
J@@

isabelle wrote:
bonjour J@@,

Sub Macro1()
For Each c In Range("B1:F65536")
If Not IsEmpty(c) Then
p = c.Row
Exit For
End If
Next
Lx = Range("B1:F65536").Find("*", [B1], xlValues, , xlByRows,
xlPrevious).Row
Range("B" & p & ":F" & Lx).Select
End Sub

isabelle


Bonjour FL
C'est bon. J'ai intégré ton code dans mon ébauche, que voici :
Question complémentaire :
Je souhaite sélectionner (puis copier) successivement chacune de ces
zones existant dans la feuille.
Comme chaque zone correspond à un groupe "Sexe : F" ou "Sexe : M",
comment faire pour
For each "sexe" then etc
Next sexe
(Ca fait un peu bizarre, je sais ...
Merci pour les idées
@+
cordialement
J@@

'****
Sub test_suite()
Dim Rg As Range
On Error Resume Next
With Worksheets("Liste_test")
Set Rg = .Range("A1:A" &
.Range("A65356").End(xlUp).Row).Find("Sexe").Offset(3, 1)
If Not Rg Is Nothing Then
Rg.Select
'codeFL
While ActiveCell.Offset(i) <> ""
i = i - 1
Wend
While ActiveCell.Offset(j) <> ""
j = j + 1
Wend
ligne1 = ActiveCell.Row + i + 2
ligne2 = ActiveCell.Row + j - 1
Range("B" & ligne1 & ":F" & ligne2).Select
'codeFL
End If
End With
Set Rg = Nothing
End Sub
'****


avec le code suivant, la première ligne n'est pas sélectionnée.

Sub a()
While ActiveCell.Offset(i) <> ""
i = i - 1
Wend
While ActiveCell.Offset(j) <> ""
j = j + 1
Wend
ligne1 = ActiveCell.Row + i + 2
ligne2 = ActiveCell.Row + j - 1
Range("B" & ligne1 & ":F" & ligne2).Select
End Sub

Cordialement
FL

"J@@" <

Bonjour FxM
merci pour la réponse
ton code fonctionne après une discrète retouche, saurais-tu (en plus
;-) )comment l'adapter pour qu'il *ne sélectionne pas* la 1ere ligne
de cette CurrentRegion?
STP

Sub test2()
Dim zone As Range
Set zone = Intersect(ActiveCell.CurrentRegion,
Range("B1:F1").EntireColumn)
If Not zone Is Nothing Then zone.Select
End Sub

J'en bave avec mes explications filandreuses, qui semblent avoir
effondrées du monde ;-)
Mon dimanche s'achevant, je ne vais pas tarder à rejoindre Morphée
et ses célèbres bras :-)
@+
J@@


Bonsoir J@@,

Non testé (comme d'hab dirait JPS) :

sub test()
'sur une seule ligne
set zone =
intersect(activecell.currentregion,range("A1:F1").entirecolumn)
'jusqu'ici

if not isnothing(zone) then zone.select
end sub


Bonjour (XL2000)VBA
j'ai des range construits sur le même modèle, (colonne A à F) mais
d'un nombre de lignes variables.
le nombre de ces range est variable.

Quand j'ai une cellule d'un range qui est sélectionnée, je sais
sélectionner tout le bloc : ActiveCell.CurrentRegion.Select

Mais comment sélectionner seulement "de la 1ere cellule de la
colonne B à la dernière cellule de la colle F" de cette
CurrentRegion?
















1 2 3 4 5