Positionnement sur une ligne dans Excel ne se fait pas

Résolu/Fermé
Papyx Messages postés 315 Date d'inscription dimanche 16 septembre 2007 Statut Membre Dernière intervention 17 septembre 2021 - Modifié le 19 juin 2017 à 10:12
Papyx Messages postés 315 Date d'inscription dimanche 16 septembre 2007 Statut Membre Dernière intervention 17 septembre 2021 - 19 juin 2017 à 20:03
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.



A voir également:

3 réponses

@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
Papyx Messages postés 315 Date d'inscription dimanche 16 septembre 2007 Statut Membre Dernière intervention 17 septembre 2021 11
19 juin 2017 à 19:53
bonsoir lucien
le résultat est le même
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
19 juin 2017 à 10:50
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
Papyx Messages postés 315 Date d'inscription dimanche 16 septembre 2007 Statut Membre Dernière intervention 17 septembre 2021 11
Modifié le 19 juin 2017 à 11:53
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
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
19 juin 2017 à 13:37
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
Papyx Messages postés 315 Date d'inscription dimanche 16 septembre 2007 Statut Membre Dernière intervention 17 septembre 2021 11 > ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022
19 juin 2017 à 20:03
t'as trouvé!
c'est là qu' était le problème
Merci pour ton aide
0