Positionnement sur une ligne dans Excel ne se fait pas

Résolu
Papyx Messages postés 307 Date d'inscription   Statut Membre Dernière intervention   -  
Papyx Messages postés 307 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai une application comportant plusieurs onglets.
Je me positionne sur une ligne en haut de la fenêtre sans problème;
sauf pour une feuille. Voici la procédure de cette feuille :

Private Sub Worksheet_Activate()
Dim l%: l = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row - 7
Cells(l, 1).Select
ActiveWindow.ScrollRow = l
End Sub

La feuille s'affiche à partir du début; alors que je voulais me positionner vers la fin
(environ 550 lignes).
En utilisant le pas-à-pas du debug, l'instruction s' exécute correctement sur la ligne, mais après sortie du debug, on revient au début de la liste.

3 réponses

  1. lucien
     
    @Papyx

    Bonjour, pour ton 1er message, essaye ce code VBA :

    
    Private Sub Worksheet_Activate()
        Dim l%: l = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row - 7
        Application.Goto Cells(l, 1), True
    End Sub
    
    
    1
    1. Papyx Messages postés 307 Date d'inscription   Statut Membre Dernière intervention   11
       
      bonsoir lucien
      le résultat est le même
      0
  2. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonjour Papyx, bonjour le forum,

    Chez moi ça fonctionne correctement !... N'aurais-tu pas aussi une procédure SelectionChange dans cet onglet qui vienne interférer ?...
    0
  3. Papyx Messages postés 307 Date d'inscription   Statut Membre Dernière intervention   11
     
    bonjour TT
    en général je n'ai pas de problème avec cela.
    Dans ma feuille, il n'y-a que 2 procédures; la 2éme est :
    Private Sub Worksheet_Change(ByVal target As Range)
    Select Case target.Column
    Case 1
    If target.Value <> "" And fourniture_existe(target.Value) Then _
    MsgBox "Référence existe", vbCritical, target.Value: _
    target.Value = ""
    Case 2
    Call Module1.prep_ligne_fournitures(target)
    Case 7
    If InStr("pcm|g|m", target) = 0 Then _
    MsgBox "Valeur invalide dans cette colonne", vbCritical, "colonne G"
    Case 4, 5
    Call tableau.recalcul(target)
    End Select
    End Sub

    mais elle s’ exécute que si on modifie la feuille
    0
    1. ThauTheme Messages postés 1564 Statut Membre 160
       
      Re,

      Oui en effet, celle-ci n'agira pas. Alors je ne comprends pas car chez moi ça fonctionne bien.
      Rien non plus dans le composant Thisworkbook dans la procédure Workbook_SheetSelectionChange ?
      0
      1. Papyx Messages postés 307 Date d'inscription   Statut Membre Dernière intervention   11 > ThauTheme Messages postés 1564 Statut Membre
         
        t'as trouvé!
        c'est là qu' était le problème
        Merci pour ton aide
        0