OVH Cloud OVH Cloud

Arrêter une macro sur erreur

2 réponses
Avatar
Jean-Paul V
Bonjour à tous

J’ai 3 objets qui se déplacent automatiquement sur la feuille et qui sont
toujours sur la première et deuxième ligne.

Le premier objet permet un retour rapide à un menu les deux autres sont des
flèches auquel j’ai affecté les macros « BAS » et HAUT

Comment modifier la macro HAUT pour que la macro haut ne se plante pas
lorsque l’on est presque en haut de la feuille.

Les 3 macros sont :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rg As Range
Set rg = Range(ActiveWindow.VisibleRange.Address).Offset(1)
Image2Row = rg.Row
ActiveSheet.Shapes("Image 2").Left = rg.Left
ActiveSheet.Shapes("Image 2").Top = rg.Top
Set rg = Range(ActiveWindow.VisibleRange.Address).Offset(1, 5)
ActiveSheet.Shapes("Trait 4").Left = rg.Left
ActiveSheet.Shapes("Trait 4").Top = rg.Top
Set rg = Range(ActiveWindow.VisibleRange.Address).Offset(0, 5)
ActiveSheet.Shapes("Trait 5").Left = rg.Left
ActiveSheet.Shapes("Trait 5").Top = rg.Top
'Set rg = Nothing
End Sub

Sub BAS()
Dim r As Long
With ActiveWindow
r = .ActiveCell.Row - .VisibleRange.Row
.LargeScroll Down:=1
Cells(.VisibleRange.Row + r, .ActiveCell.Column).Select
End With
End Sub

Sub HAUT()
Dim r As Long
With ActiveWindow
r = .ActiveCell.Row - .VisibleRange.Row
.LargeScroll up:=1
Cells(.VisibleRange.Row - r, .ActiveCell.Column).Select
End With
End Sub

Bien Amicalement

2 réponses

Avatar
Modeste
Bonsour®
Jean-Paul V wrote:
Comment modifier la macro HAUT pour que la macro haut ne se plante pas
lorsque l'on est presque en haut de la feuille.


comme ceci ;o)))
Sub HAUT()
Dim r As Long
With ActiveWindow
r = .ActiveCell.Row - .VisibleRange.Row
.LargeScroll up:=1
Cells(Application.Max(1, .VisibleRange.Row - r),
.ActiveCell.Column).Select
End With
End Sub

@+

Avatar
abcd
un moyen assez rapide d'éviter des tests ou des calculs (et d'accélé rer
le code, mais ici ce n'est pas trop le problème pour une seule action)
est d'ignorer les erreurs

on error resume next
le code à problème (sans aucune modif)
on error goto 0 'éventuel, pour stopper aux prochaines erreurs


ainsi s'il est impossible de sélectionner la cellule pour une raison
ou une autre, le code ne plante pas. (l'action n'est pas réalisée, bi en sûr)