Coucou,
j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n
étant variables., X+1 et N+1 étant vides.
Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne
fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant
qu'en prime il peut très bien n'y avoir qu'une seule ligne à
sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est
comme en maths, l'élégance en VBA ça compte ;-)
k'you !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
A tester comme d'hab : Sub test2() With Range("A2:IV65536") zz = Range("A1:" & .Find("*", .Item(1), , , , xlPrevious).Address).Address End With End Sub
@+ FxM
Misange wrote:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
Bonsoir Misange,
A tester comme d'hab :
Sub test2()
With Range("A2:IV65536")
zz = Range("A1:" & .Find("*", .Item(1), , , ,
xlPrevious).Address).Address
End With
End Sub
@+
FxM
Misange wrote:
Coucou,
j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n
étant variables., X+1 et N+1 étant vides.
Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne
fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant
qu'en prime il peut très bien n'y avoir qu'une seule ligne à
sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est
comme en maths, l'élégance en VBA ça compte ;-)
k'you !
A tester comme d'hab : Sub test2() With Range("A2:IV65536") zz = Range("A1:" & .Find("*", .Item(1), , , , xlPrevious).Address).Address End With End Sub
@+ FxM
Misange wrote:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
FxM
Essais, essais, quand tu nous tiens .... Corrections : - A2 (et non A1) - select et non zz pour l'adresse.
Sub test3() With Range("A2:IV65536") Range("A2:" & .Find("*", .Item(1), , , , _ xlPrevious).Address).select End With End Sub
@+ FxM
Misange wrote:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
Essais, essais, quand tu nous tiens ....
Corrections :
- A2 (et non A1)
- select et non zz pour l'adresse.
Sub test3()
With Range("A2:IV65536")
Range("A2:" & .Find("*", .Item(1), , , , _
xlPrevious).Address).select
End With
End Sub
@+
FxM
Misange wrote:
Coucou,
j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et
n étant variables., X+1 et N+1 étant vides.
Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne
fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant
qu'en prime il peut très bien n'y avoir qu'une seule ligne à
sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est
comme en maths, l'élégance en VBA ça compte ;-)
k'you !
Essais, essais, quand tu nous tiens .... Corrections : - A2 (et non A1) - select et non zz pour l'adresse.
Sub test3() With Range("A2:IV65536") Range("A2:" & .Find("*", .Item(1), , , , _ xlPrevious).Address).select End With End Sub
@+ FxM
Misange wrote:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
Misange
Merci FX, ça roule !
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
FxM wrote:
Bonsoir Misange,
A tester comme d'hab : Sub test2() With Range("A2:IV65536") zz = Range("A1:" & .Find("*", .Item(1), , , , xlPrevious).Address).Address End With End Sub
@+ FxM
Misange wrote:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
Merci FX, ça roule !
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
FxM wrote:
Bonsoir Misange,
A tester comme d'hab :
Sub test2()
With Range("A2:IV65536")
zz = Range("A1:" & .Find("*", .Item(1), , , ,
xlPrevious).Address).Address
End With
End Sub
@+
FxM
Misange wrote:
Coucou,
j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et
n étant variables., X+1 et N+1 étant vides.
Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne
fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant
qu'en prime il peut très bien n'y avoir qu'une seule ligne à
sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est
comme en maths, l'élégance en VBA ça compte ;-)
k'you !
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
FxM wrote:
Bonsoir Misange,
A tester comme d'hab : Sub test2() With Range("A2:IV65536") zz = Range("A1:" & .Find("*", .Item(1), , , , xlPrevious).Address).Address End With End Sub
@+ FxM
Misange wrote:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
Denis Michon
Bonjour Misange,
et ceci ça te va ?
'------------------------------ Sub Selectionner()
Dim R As Long, C As Integer
With Worksheets("Feuil2") 'à adapter With .Cells 'Dernière colonne C = .Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column 'Dernière ligne R = .Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row End With 'à partir de A1 '.Range("A1").Resize(R, C).Select 'à partir de A2 .Range("A2").Resize(R - 1, C).Select End With End Sub '------------------------------
Salutations!
"Misange" a écrit dans le message de news: Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Misange,
et ceci ça te va ?
'------------------------------
Sub Selectionner()
Dim R As Long, C As Integer
With Worksheets("Feuil2") 'à adapter
With .Cells
'Dernière colonne
C = .Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
'Dernière ligne
R = .Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
End With
'à partir de A1
'.Range("A1").Resize(R, C).Select
'à partir de A2
.Range("A2").Resize(R - 1, C).Select
End With
End Sub
'------------------------------
Salutations!
"Misange" <misange@devinezou.net> a écrit dans le message de news:ehsJfuDvDHA.620@TK2MSFTNGP10.phx.gbl...
Coucou,
j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n
étant variables., X+1 et N+1 étant vides.
Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne
fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant
qu'en prime il peut très bien n'y avoir qu'une seule ligne à
sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est
comme en maths, l'élégance en VBA ça compte ;-)
k'you !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
'------------------------------ Sub Selectionner()
Dim R As Long, C As Integer
With Worksheets("Feuil2") 'à adapter With .Cells 'Dernière colonne C = .Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column 'Dernière ligne R = .Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row End With 'à partir de A1 '.Range("A1").Resize(R, C).Select 'à partir de A2 .Range("A2").Resize(R - 1, C).Select End With End Sub '------------------------------
Salutations!
"Misange" a écrit dans le message de news: Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Denis Michon
Bonjour Misange,
Moi, Misange, je trouve que tu n'es pas très difficile !!!
;-))
Cette procédure fonctionne par intermittence ... cela dépend comment tes données sont placées dans la feuille.
Salutations!
"Misange" a écrit dans le message de news: Merci FX, ça roule !
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
FxM wrote:
Bonsoir Misange,
A tester comme d'hab : Sub test2() With Range("A2:IV65536") zz = Range("A1:" & .Find("*", .Item(1), , , , xlPrevious).Address).Address End With End Sub
@+ FxM
Misange wrote:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
Bonjour Misange,
Moi, Misange, je trouve que tu n'es pas très difficile !!!
;-))
Cette procédure fonctionne par intermittence ... cela dépend comment tes données sont placées dans la feuille.
Salutations!
"Misange" <misange@devinezou.net> a écrit dans le message de news:OU1k2EEvDHA.2464@TK2MSFTNGP12.phx.gbl...
Merci FX, ça roule !
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
FxM wrote:
Bonsoir Misange,
A tester comme d'hab :
Sub test2()
With Range("A2:IV65536")
zz = Range("A1:" & .Find("*", .Item(1), , , ,
xlPrevious).Address).Address
End With
End Sub
@+
FxM
Misange wrote:
Coucou,
j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et
n étant variables., X+1 et N+1 étant vides.
Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne
fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant
qu'en prime il peut très bien n'y avoir qu'une seule ligne à
sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est
comme en maths, l'élégance en VBA ça compte ;-)
k'you !
Moi, Misange, je trouve que tu n'es pas très difficile !!!
;-))
Cette procédure fonctionne par intermittence ... cela dépend comment tes données sont placées dans la feuille.
Salutations!
"Misange" a écrit dans le message de news: Merci FX, ça roule !
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
FxM wrote:
Bonsoir Misange,
A tester comme d'hab : Sub test2() With Range("A2:IV65536") zz = Range("A1:" & .Find("*", .Item(1), , , , xlPrevious).Address).Address End With End Sub
@+ FxM
Misange wrote:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
Misange
j'avais corrigé ;-)
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
FxM wrote:
Essais, essais, quand tu nous tiens .... Corrections : - A2 (et non A1) - select et non zz pour l'adresse.
Sub test3() With Range("A2:IV65536") Range("A2:" & .Find("*", .Item(1), , , , _ xlPrevious).Address).select End With End Sub
@+ FxM
Misange wrote:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
j'avais corrigé ;-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
FxM wrote:
Essais, essais, quand tu nous tiens ....
Corrections :
- A2 (et non A1)
- select et non zz pour l'adresse.
Sub test3()
With Range("A2:IV65536")
Range("A2:" & .Find("*", .Item(1), , , , _
xlPrevious).Address).select
End With
End Sub
@+
FxM
Misange wrote:
Coucou,
j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X
et n étant variables., X+1 et N+1 étant vides.
Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui
ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)...
sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à
sélectionner (ex : A2:F2). Quel est le plus simple (et élégant !
c'est comme en maths, l'élégance en VBA ça compte ;-)
k'you !
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
FxM wrote:
Essais, essais, quand tu nous tiens .... Corrections : - A2 (et non A1) - select et non zz pour l'adresse.
Sub test3() With Range("A2:IV65536") Range("A2:" & .Find("*", .Item(1), , , , _ xlPrevious).Address).select End With End Sub
@+ FxM
Misange wrote:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
Misange
Ta proc marche surement mais c'est quand même un peu long ;-( (je sais je suis difficile... Mais j'avais un truc de ce genre que je voulais simplifier. en l'occurence pour la soluce de FXM, c'est pas très genant la ligne du dessous est vide... J'ai un autre truc sur le gaz, plus simple mais la journée a été plus que chargée (boulot !!) et je décroche pour ce soir. Bonne journée aux Canadiens, bonne nuit aux autres
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Denis Michon wrote:
Bonjour Misange,
Moi, Misange, je trouve que tu n'es pas très difficile !!!
;-))
Cette procédure fonctionne par intermittence ... cela dépend comment tes données sont placées dans la feuille.
Salutations!
"Misange" a écrit dans le message de news: Merci FX, ça roule !
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
FxM wrote:
Bonsoir Misange,
A tester comme d'hab : Sub test2() With Range("A2:IV65536") zz = Range("A1:" & .Find("*", .Item(1), , , , xlPrevious).Address).Address End With End Sub
@+ FxM
Misange wrote:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
Ta proc marche surement mais c'est quand même un peu long ;-( (je sais
je suis difficile... Mais j'avais un truc de ce genre que je voulais
simplifier.
en l'occurence pour la soluce de FXM, c'est pas très genant la ligne du
dessous est vide...
J'ai un autre truc sur le gaz, plus simple mais la journée a été plus
que chargée (boulot !!) et je décroche pour ce soir.
Bonne journée aux Canadiens, bonne nuit aux autres
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Denis Michon wrote:
Bonjour Misange,
Moi, Misange, je trouve que tu n'es pas très difficile !!!
;-))
Cette procédure fonctionne par intermittence ... cela dépend comment tes données sont placées dans la feuille.
Salutations!
"Misange" <misange@devinezou.net> a écrit dans le message de news:OU1k2EEvDHA.2464@TK2MSFTNGP12.phx.gbl...
Merci FX, ça roule !
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
FxM wrote:
Bonsoir Misange,
A tester comme d'hab :
Sub test2()
With Range("A2:IV65536")
zz = Range("A1:" & .Find("*", .Item(1), , , ,
xlPrevious).Address).Address
End With
End Sub
@+
FxM
Misange wrote:
Coucou,
j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et
n étant variables., X+1 et N+1 étant vides.
Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne
fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant
qu'en prime il peut très bien n'y avoir qu'une seule ligne à
sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est
comme en maths, l'élégance en VBA ça compte ;-)
k'you !
Ta proc marche surement mais c'est quand même un peu long ;-( (je sais je suis difficile... Mais j'avais un truc de ce genre que je voulais simplifier. en l'occurence pour la soluce de FXM, c'est pas très genant la ligne du dessous est vide... J'ai un autre truc sur le gaz, plus simple mais la journée a été plus que chargée (boulot !!) et je décroche pour ce soir. Bonne journée aux Canadiens, bonne nuit aux autres
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Denis Michon wrote:
Bonjour Misange,
Moi, Misange, je trouve que tu n'es pas très difficile !!!
;-))
Cette procédure fonctionne par intermittence ... cela dépend comment tes données sont placées dans la feuille.
Salutations!
"Misange" a écrit dans le message de news: Merci FX, ça roule !
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
FxM wrote:
Bonsoir Misange,
A tester comme d'hab : Sub test2() With Range("A2:IV65536") zz = Range("A1:" & .Find("*", .Item(1), , , , xlPrevious).Address).Address End With End Sub
@+ FxM
Misange wrote:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
Daniel.M
Salut Misange,
Une autre pour le fun, mais elle fait 3 lignes! ;-)
With Range("A1").CurrentRegion Intersect(.Offset(1), .Cells).Select End With
Salutations,
Daniel M.
"Misange" wrote in message news:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Salut Misange,
Une autre pour le fun, mais elle fait 3 lignes! ;-)
With Range("A1").CurrentRegion
Intersect(.Offset(1), .Cells).Select
End With
Salutations,
Daniel M.
"Misange" <misange@devinezou.net> wrote in message
news:ehsJfuDvDHA.620@TK2MSFTNGP10.phx.gbl...
Coucou,
j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n
étant variables., X+1 et N+1 étant vides.
Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne
fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant
qu'en prime il peut très bien n'y avoir qu'une seule ligne à
sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est
comme en maths, l'élégance en VBA ça compte ;-)
k'you !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Une autre pour le fun, mais elle fait 3 lignes! ;-)
With Range("A1").CurrentRegion Intersect(.Offset(1), .Cells).Select End With
Salutations,
Daniel M.
"Misange" wrote in message news:
Coucou, j'ai des données dans une plage qui va de la cellule A1 à ... Xn, X et n étant variables., X+1 et N+1 étant vides. Je voudrais sélectionner en VBA la plage A2:Xn avec une syntaxe qui ne fasse pas 3 lignes à coup de end(xlright) et end(xldown)... sachant qu'en prime il peut très bien n'y avoir qu'une seule ligne à sélectionner (ex : A2:F2). Quel est le plus simple (et élégant ! c'est comme en maths, l'élégance en VBA ça compte ;-) k'you !
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
AV
Cher passereau,
Ta recherche effrénée d'élégance et de concision ne te conduirait-elle pas à l'obscurantisme "dandyque" ? :-)) Si l'on accepte que la dernière cellule d'un tableau est l'intersection de la dernière colonne renseignée ET de la dernière ligne renseignée, la proposition de FxM, ne peut, comme l'a souligné Denis, être satisfaisante car le "Find" cherche la dernière ligne renseignée et DANS CETTE LIGNE, renvoie la dernière colonne renseignée (la ligne est, dans ce cas, prioritaire sur la colonne !)
Exemple de tableau et résultats de l'exécution de la dite-macro Seules cellules renseignées de la feuille : A1;B10;C5 Sélection attendue : A2:C10 Sélection faite : A2:B10 !
Pour privilégier la concision et l'élégance sur la clarté, ça pourrait faire une ligne : Range("A2", Cells(Cells.Find("*", , , , xlByRows, xlPrevious).Row, Cells.Find("*", , , , xlByColumns, xlPrevious).Column)).Select
AV
Cher passereau,
Ta recherche effrénée d'élégance et de concision ne te conduirait-elle pas à
l'obscurantisme "dandyque" ?
:-))
Si l'on accepte que la dernière cellule d'un tableau est l'intersection de la
dernière colonne renseignée ET de la dernière ligne renseignée, la proposition
de FxM, ne peut, comme l'a souligné Denis, être satisfaisante car le "Find"
cherche la dernière ligne renseignée et DANS CETTE LIGNE, renvoie la dernière
colonne renseignée (la ligne est, dans ce cas, prioritaire sur la colonne !)
Exemple de tableau et résultats de l'exécution de la dite-macro
Seules cellules renseignées de la feuille :
A1;B10;C5
Sélection attendue : A2:C10
Sélection faite : A2:B10 !
Pour privilégier la concision et l'élégance sur la clarté, ça pourrait faire une
ligne :
Range("A2", Cells(Cells.Find("*", , , , xlByRows, xlPrevious).Row,
Cells.Find("*", , , , xlByColumns, xlPrevious).Column)).Select
Ta recherche effrénée d'élégance et de concision ne te conduirait-elle pas à l'obscurantisme "dandyque" ? :-)) Si l'on accepte que la dernière cellule d'un tableau est l'intersection de la dernière colonne renseignée ET de la dernière ligne renseignée, la proposition de FxM, ne peut, comme l'a souligné Denis, être satisfaisante car le "Find" cherche la dernière ligne renseignée et DANS CETTE LIGNE, renvoie la dernière colonne renseignée (la ligne est, dans ce cas, prioritaire sur la colonne !)
Exemple de tableau et résultats de l'exécution de la dite-macro Seules cellules renseignées de la feuille : A1;B10;C5 Sélection attendue : A2:C10 Sélection faite : A2:B10 !
Pour privilégier la concision et l'élégance sur la clarté, ça pourrait faire une ligne : Range("A2", Cells(Cells.Find("*", , , , xlByRows, xlPrevious).Row, Cells.Find("*", , , , xlByColumns, xlPrevious).Column)).Select
AV
Misange
Daniel.M wrote:
With Range("A1").CurrentRegion Intersect(.Offset(1), .Cells).Select End With
C'est limpide ! adopté. Mais je garde sous le coude aussi la soluce d'Alain Merci Daniel --
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Daniel.M wrote:
With Range("A1").CurrentRegion
Intersect(.Offset(1), .Cells).Select
End With
C'est limpide !
adopté. Mais je garde sous le coude aussi la soluce d'Alain
Merci Daniel
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta