Positionnement sur une ligne dans Excel ne se fait pas

[Résolu/Fermé]
Signaler
Messages postés
317
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
17 septembre 2021
-
Messages postés
317
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
17 septembre 2021
-
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

@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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
317
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
17 septembre 2021
11
bonsoir lucien
le résultat est le même
Messages postés
1412
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
9 mars 2021
154
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 ?...
Messages postés
317
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
17 septembre 2021
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
Messages postés
1412
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
9 mars 2021
154
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 ?
Messages postés
317
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
17 septembre 2021
11 >
Messages postés
1412
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
9 mars 2021

t'as trouvé!
c'est là qu' était le problème
Merci pour ton aide