Comment sélectionner de A1 à dernière cellule (CTRL+Fin) ?

4 réponses
Avatar
Hervé 92
Bjr à tous

Tous est dans le titre.

J'ai essayé : Range("A1:" &
ActiveCell.SpecialCells(xlLastCell)).Cells.Select

mais ça échoue.

Merci d'avance pour votre aide et vos réponses.

Hervé92

4 réponses

Avatar
Philippe BRONCHART
bonsoir hervé

Range("a1").End(xlDown).Offset(1, 0).Activate

amicalement

philippe


"Hervé 92" a écrit dans le message de
news:
Bjr à tous

Tous est dans le titre.

J'ai essayé : Range("A1:" &
ActiveCell.SpecialCells(xlLastCell)).Cells.Select

mais ça échoue.

Merci d'avance pour votre aide et vos réponses.

Hervé92




Avatar
Denis
Bonjour,

Range("A1:" & ActiveCell.SpecialCells(xlLastCell).AddressLocal).Cells.Select

OU

Range("A1:" & ActiveCell.SpecialCells(xlLastCell).AddressLocal).Select


Denis


"Hervé 92" a écrit dans le message news:

Bjr à tous

Tous est dans le titre.

J'ai essayé : Range("A1:" &
ActiveCell.SpecialCells(xlLastCell)).Cells.Select

mais ça échoue.

Merci d'avance pour votre aide et vos réponses.

Hervé92




Avatar
michdenis
Bonjour Hervé92,

La cellule indiquée par Ctrl + Fin n'est pas nécessairement la dernière cellule de la feuille. Regarde dans l'aide, l'objet
"UsedRange".
Excel se souvient de l'adresse de la dernière cellule contenant de l'information même si cette dernière a été effacée.

Si tu veux la dernière cellule représentant le point de rencontre de la dernière ligne avec la dernière colonne, je te
propose ceci :

Affiche dans un message box : l'adresse de la plage.
Je ne sais pas ce que tu veux en faire, mais habituellement il y a moyen de procéder sans effectuer de sélection !
'-------------------------
Sub DernièreCelluleDeLaFeuille()
Dim R As Integer, C As Long

With Worksheets("Feuil1")
R = .Cells.Find("*", .Cells.Item(1), , , , xlPrevious).Row
C = .Cells.Find("*", .Cells.Item(1), , , , xlPrevious).Column
MsgBox .Range(.Cells(1, 1), .Cells(R, C)).Address(0, 0)
End With

End Sub
'-------------------------


Si tu tiens à sélectionner la plage :
'------------------------
Sub DernièreCelluleDeLaFeuille()
Dim R As Integer, C As Long

With Worksheets("Feuil1")
.Select
R = .Cells.Find("*", .Cells.Item(1), , , , xlPrevious).Row
C = .Cells.Find("*", .Cells.Item(1), , , , xlPrevious).Column
.Range(.Cells(1, 1), .Cells(R, C)).Select
End With

End Sub
'------------------------


Salutations!


P.S. Un petit coup de chapeau à AV qui m'a mis la puce à l'oreille dans l'une de ces nombreuses interventions sur ce forum !





"Hervé 92" a écrit dans le message de news:
Bjr à tous

Tous est dans le titre.

J'ai essayé : Range("A1:" &
ActiveCell.SpecialCells(xlLastCell)).Cells.Select

mais ça échoue.

Merci d'avance pour votre aide et vos réponses.

Hervé92
Avatar
Hervé 92
Un grand merci à toi, c'est pile poil ce qu'il me fallait.

Hervé92

"michdenis" a écrit dans le message de
news:%
Bonjour Hervé92,

La cellule indiquée par Ctrl + Fin n'est pas nécessairement la dernière
cellule de la feuille. Regarde dans l'aide, l'objet

"UsedRange".
Excel se souvient de l'adresse de la dernière cellule contenant de
l'information même si cette dernière a été effacée.


Si tu veux la dernière cellule représentant le point de rencontre de la
dernière ligne avec la dernière colonne, je te

propose ceci :

Affiche dans un message box : l'adresse de la plage.
Je ne sais pas ce que tu veux en faire, mais habituellement il y a moyen
de procéder sans effectuer de sélection !

'-------------------------
Sub DernièreCelluleDeLaFeuille()
Dim R As Integer, C As Long

With Worksheets("Feuil1")
R = .Cells.Find("*", .Cells.Item(1), , , , xlPrevious).Row
C = .Cells.Find("*", .Cells.Item(1), , , , xlPrevious).Column
MsgBox .Range(.Cells(1, 1), .Cells(R, C)).Address(0, 0)
End With

End Sub
'-------------------------


Si tu tiens à sélectionner la plage :
'------------------------
Sub DernièreCelluleDeLaFeuille()
Dim R As Integer, C As Long

With Worksheets("Feuil1")
.Select
R = .Cells.Find("*", .Cells.Item(1), , , , xlPrevious).Row
C = .Cells.Find("*", .Cells.Item(1), , , , xlPrevious).Column
.Range(.Cells(1, 1), .Cells(R, C)).Select
End With

End Sub
'------------------------


Salutations!


P.S. Un petit coup de chapeau à AV qui m'a mis la puce à l'oreille dans
l'une de ces nombreuses interventions sur ce forum !






"Hervé 92" a écrit dans le message de
news:

Bjr à tous

Tous est dans le titre.

J'ai essayé : Range("A1:" &
ActiveCell.SpecialCells(xlLastCell)).Cells.Select

mais ça échoue.

Merci d'avance pour votre aide et vos réponses.

Hervé92