ActiveWindow.ScrollRow en fonction de la dernière ligne pleine possible ?

Bonjour la team ;-)

Petite question s'il vous plait !

J'ai 12 onglets sur un fichier

Certains mois demandent 120 lignes environs, d'autres seulement 5,10 ou 20. toutes les feuilles comportent 125 lignes....... "utiles".

Pour la mise en page, et l'impression en même temps qui n'imprimera pas les lignes vides, je les mets à "0" en fin de mois.*Dans mon code, la ligne de code inactive est à 1 (ce que je sais faire ;-) mais qui ne le fait pas !)

Question certainement simple pour vous donc :

Ne sachant pas où le "ScrollRow" sera défini par avance, est-il possible s'il vous plait de le "caler" sur la dernière ligne non vide, en sachant que il faut que j'en descende 6 de plus comportant les totaux et cumuls !

Merci par avance.

Bien à vous

PS : S'il faut une feuille en exemple, demandez, je m'exécuterai :-)

image
Sub Macro6_Cacher_lignesvides()
Dim cellule As Range

Application.ScreenUpdating = False
With ActiveSheet
    For Each cellule In .Range("A5:A125")
        If WorksheetFunction.CountA(.Range("A" & cellule.Row)) = 0 Then
        cellule.EntireRow.Hidden = True
        'ActiveWindow.ScrollRow = 1
        Range("J1").Select
        End If
    Next cellule
End With
Application.ScreenUpdating = True

End Sub

Bonjour Dasaquit,

Si ton total se trouve toujours en ligne 126, sélectionne par macro cette ligne. Puis utilise ton bouton pour cacher les lignes vides. Enfin resélectionne toujours par macro la ligne 126.

Sinon poste une feuille exemple.

Hello X Cellus

Tu me proposes d'écrire là où il était déjà "ActiveWindow.ScrollRow = 126" c'est ça ?

Bon alors, ne comprenant pas, j'ai contourné le truc !

Ayant mes volets figés en partie haute de la feuille ( jusque la ligne 4) lorsque j'ôte mes lignes vides en fin de mois jusqu'à la ligne 125 (en dessous mes totaux et cumuls)......... Ca fait propre ;-)

Sub Macro6_Cacher_lignesvides()

Dim cellule As Range

Application.ScreenUpdating = False

With ActiveSheet

For Each cellule In .Range("A5:A125")

If WorksheetFunction.CountA(.Range("A" & cellule.Row)) = 0 Then

cellule.EntireRow.Hidden = True

Cells(131, 1).Select

Range("J1").Select

End If

Next cellule

End With

Application.ScreenUpdating = True

End Sub

Ensuite si j'ai besoin je demande mes lignes vides avec un "ActiveWindow.ScrollRow = 1"

Sub Macro2_Remettre_lignes_vides()

Application.ScreenUpdating = False

Rows("5:125").Select

Selection.RowHeight = 14.4

ActiveWindow.ScrollRow = 1

Range("J1").Select

Application.ScreenUpdating = True

End Sub

Une fois investigué, je referme mes lignes vides.

A tous problèmes une solution ;-)

Bonne soirée à tous

David

Ps : Quand on n'est pas bon, on n'est pas bon ! ;-)

Rechercher des sujets similaires à "activewindow scrollrow fonction derniere ligne pleine possible"