Affichage différent entre action sur colonne en VBA et action en manuel.

Résolu/Fermé
Utilisateur anonyme - 1 août 2020 à 20:26
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 3 août 2020 à 15:20
Bonjour,
Dans ma feuille MS Excel 2016, j'utilise le VBA pour que lors de la Sauvegarde : Je
marque la Date, je Trie et je Place le curseur en bas de colonne.
Aucun soucis... Sauf pour le bas de colonne qui ne s'affiche pas comme je veux !

Quand je fais la manipulation en manuel:
Dans ma colonne A, Je clique en A3, puis je fais Ctrl "Flèche bas" pour aller en bas de colonne.

La dernière cellule est affichée tout en bas près du bas de feuille à l'écran et c'est cool !

Dans la Macro VBA:
Sheets("MonTableau").Select
Range("A3").Select
Selection.End(xlDown).Select


La dernière cellule est affichée en milieu de feuille au milieu de l'écran et c'est pas cool !

Je cherche comment en VBA je peux obtenir le même résultat "visuel" qu'en manuel.
C'est à dire : La dernière cellule affichée tout en bas près du bas de feuille en bas de l'écran.

Le fichier MaListe.xlsm est dispo sur CJoint.com mais attention, c'est un xlsm car il contient ma macro.

Si quelqu'un à la solution, même Raymond ;-)
Merci
A+

Configuration: Windows 10 / Firefox 79.

A voir également:

2 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
Modifié le 1 août 2020 à 22:33
Bonjour,

« Si quelqu'un à la solution, même Raymond ;-) »
Pour autant que je sache, Raymond (que je salue), n'est pas passionné par les macros ...

essaies comme ça :
Sub AvantEnregistement()
Dim w As Window
  With Worksheets("MonTableau")
    Set w = Application.Windows(.Parent.Name)
    w.ScrollRow = 4   'pas de scroll
    With .Range("A3").CurrentRegion
      ' Tri des dates "Ordre Croissant" dans la colonne A
      .Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlYes
      ' Sélection de la dernière cellule de la colonne A sur la feuille
      .Cells(.Rows.Count, 1).Select
    End With
    ' Date & Heure en B1 sur "MonTableau"
    .Range("B1") = "Sauvegardé le " & Format(Date, "dddd dd mmmm yyyy") & " à " & Format(Time, "hh:mm:ss")
    ' Dernière cellule en bas
    w.ScrollRow = ActiveCell.Row - w.VisibleRange.Rows.Count + 2
  End With
End Sub


0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
3 août 2020 à 15:20
Passe le sujet en résolu !

Depuis hier sur l'autre Forum .....
Pourquoi laisser les autres contributeurs chercher une autre solution ....
0