OVH Cloud OVH Cloud

Dernière cellule

5 réponses
Avatar
AG
Lorsque j'ouvre mon chiffrier, je peux atteindre la cellule la plus en bas à
droite de com chiffrier avec les touches CTRL+Fin.

L'équivalent VBA est
ActiveCell.SpecialCells(xlLastCell).Select

Ça fonctione bien lorsque je viens d'ouvrir mon chiffrier mais après
plusieurs modifications où j'ai éliminé des lignes, ça me donne toujours la
même adresse qu'à l'ouverture plutôt que le nouveau coin inférieur droit

Y a-t-il un moyen d'obtenir la vraie adresse sans avoir à fermer et réouvrir
le chiffrier?

Merci

AG

5 réponses

Avatar
Michel Gaboly
Bonsoir,

En principe, la MAJ ne se fait qu’à l’enregistrement du document, et il
y parfois des surprises.

Tu peux forcer la mise à jour en rajoutant l’instruction :

ActiveSheet.UsedRange

Teste cette routine :

Sub MAJDerniereCellule()
ActiveSheet.UsedRange
ActiveCell.SpecialCells(xlLastCell).Select
End Sub


La MAJ peut bien sûr se faire sur une autre feuille que la feuille active :

Sub MAJDerniereCelluleBis()
With Sheets("Feuil1")
.UsedRange
.Activate
ActiveCell.SpecialCells(xlLastCell).Select
End With
End Sub

ou, sans activer la feuille concernée :

Sub MAJDerniereCelluleTer()
With Sheets("Feuil1")
.UsedRange
MsgBox .Range("A1").SpecialCells(xlLastCell)
End With
End Sub



Lorsque j'ouvre mon chiffrier, je peux atteindre la cellule la plus en bas à
droite de com chiffrier avec les touches CTRL+Fin.

L'équivalent VBA est
ActiveCell.SpecialCells(xlLastCell).Select

Ça fonctione bien lorsque je viens d'ouvrir mon chiffrier mais après
plusieurs modifications où j'ai éliminé des lignes, ça me donne toujours la
même adresse qu'à l'ouverture plutôt que le nouveau coin inférieur droit

Y a-t-il un moyen d'obtenir la vraie adresse sans avoir à fermer et réouvrir
le chiffrier?

Merci

AG


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
AV
Y a-t-il un moyen d'obtenir la vraie adresse sans avoir à fermer et réouvrir
le chiffrier?


Pour sélectionner la dernière cellule (intersection de la dernière ligne et de
la dernière colonne renseignées) de ton tableau
Cells(Cells.Find("*", , , , xlByRows, xlPrevious).Row, Cells.Find("*", , , ,
xlByColumns, xlPrevious).Column).Select

AV

Avatar
AG
Ça fonctionne

Merci

AG


"Michel Gaboly" a écrit dans le message news:

Bonsoir,

En principe, la MAJ ne se fait qu'à l'enregistrement du document, et il
y parfois des surprises.

Tu peux forcer la mise à jour en rajoutant l'instruction :

ActiveSheet.UsedRange

Teste cette routine :

Sub MAJDerniereCellule()
ActiveSheet.UsedRange
ActiveCell.SpecialCells(xlLastCell).Select
End Sub


La MAJ peut bien sûr se faire sur une autre feuille que la feuille active
:


Sub MAJDerniereCelluleBis()
With Sheets("Feuil1")
.UsedRange
.Activate
ActiveCell.SpecialCells(xlLastCell).Select
End With
End Sub

ou, sans activer la feuille concernée :

Sub MAJDerniereCelluleTer()
With Sheets("Feuil1")
.UsedRange
MsgBox .Range("A1").SpecialCells(xlLastCell)
End With
End Sub



Lorsque j'ouvre mon chiffrier, je peux atteindre la cellule la plus en
bas à


droite de com chiffrier avec les touches CTRL+Fin.

L'équivalent VBA est
ActiveCell.SpecialCells(xlLastCell).Select

Ça fonctione bien lorsque je viens d'ouvrir mon chiffrier mais après
plusieurs modifications où j'ai éliminé des lignes, ça me donne toujours
la


même adresse qu'à l'ouverture plutôt que le nouveau coin inférieur droit

Y a-t-il un moyen d'obtenir la vraie adresse sans avoir à fermer et
réouvrir


le chiffrier?

Merci

AG


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Michel Gaboly
De rien. ;-))



Ça fonctionne

Merci

AG

"Michel Gaboly" a écrit dans le message news:

Bonsoir,

En principe, la MAJ ne se fait qu'à l'enregistrement du document, et il
y parfois des surprises.

Tu peux forcer la mise à jour en rajoutant l'instruction :

ActiveSheet.UsedRange

Teste cette routine :

Sub MAJDerniereCellule()
ActiveSheet.UsedRange
ActiveCell.SpecialCells(xlLastCell).Select
End Sub


La MAJ peut bien sûr se faire sur une autre feuille que la feuille active
:


Sub MAJDerniereCelluleBis()
With Sheets("Feuil1")
.UsedRange
.Activate
ActiveCell.SpecialCells(xlLastCell).Select
End With
End Sub

ou, sans activer la feuille concernée :

Sub MAJDerniereCelluleTer()
With Sheets("Feuil1")
.UsedRange
MsgBox .Range("A1").SpecialCells(xlLastCell)
End With
End Sub



Lorsque j'ouvre mon chiffrier, je peux atteindre la cellule la plus en
bas à


droite de com chiffrier avec les touches CTRL+Fin.

L'équivalent VBA est
ActiveCell.SpecialCells(xlLastCell).Select

Ça fonctione bien lorsque je viens d'ouvrir mon chiffrier mais après
plusieurs modifications où j'ai éliminé des lignes, ça me donne toujours
la


même adresse qu'à l'ouverture plutôt que le nouveau coin inférieur droit

Y a-t-il un moyen d'obtenir la vraie adresse sans avoir à fermer et
réouvrir


le chiffrier?

Merci

AG


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com



Avatar
AV
Ça fonctionne


Heu....oui.....
.....sauf si il y a, en dehors de ton tableau, une cellule (vide) qui est
simplement formatée différemment du formatage par défaut de ta feuille
A toi de voir si tu la (cellule) considères comme faisant partie du tableau (?)

Vieux problème de l'UsedRange...
AV