Position de la fenêtre après l'exécution d'une macro

Mongo

XLDnaute Junior
Bonsoir,

Dans mon fichier d'exemple ci-joint, lorsque j'exécute la macro, je souhaiterais que la position de la fenêtre soit identique au début et à la fin de la macro.

Facile lorsque la cellule active se trouve à l’intérieur de l'affichage de la fenêtre.
Le hic, c'est que je voudrais que cela soit vrai même si la cellule active se trouve en dehors de la fenêtre qui est affichée.

Si quelqu'un a une solution, je l'accepterai avec grand plaisir !!!

Pascal
 

Pièces jointes

  • Fichier Exemple.xlsm
    22.8 KB · Affichages: 33
  • Fichier Exemple.xlsm
    22.8 KB · Affichages: 42
  • Fichier Exemple.xlsm
    22.8 KB · Affichages: 42

Docmarti

XLDnaute Occasionnel
Re : Position de la fenêtre après l'exécution d'une macro

Bonjour

En utilisant ScrollRow et ScrollColumn.

Code:
Sub Macro()
'Debut de la macro

Set rVisibleRange = ActiveWindow.VisibleRange.Cells(1, 1)
 
'Code
 Cells(1, 1).Select
 '...
 
'Fin de la macro

rVisibleRange.Parent.Parent.Activate
rVisibleRange.Parent.Activate
ActiveWindow.ScrollRow = rVisibleRange.Row
ActiveWindow.ScrollColumn = rVisibleRange.Column

End Sub

Cordialement

Docmarti
 

Staple1600

XLDnaute Barbatruc
Re : Position de la fenêtre après l'exécution d'une macro

Bonsoir à tous

Mongo
Pas sur d'avoir tout compris.
Mais essaies cette version de ta macro en décommentant le ' True
VB:
Sub Agrandissement_Reduction()
' Agrandissement_Reduction Macro
Dim r As Range
Set r = ActiveCell
Agrandissement:
    ActiveSheet.Unprotect
    Columns("D:BB").ColumnWidth = 13.1
    If Range("BF2").Value = "0" Then
    Range("BF2").Value = "1"
    Application.Goto r ',True ' ici décommentes et testes
    GoTo Fin
    Else
    GoTo Reduction
    End If
Reduction:
ActiveSheet.Unprotect
Range("C:F,H:I,K:L,N:O,Q:Q,R:R,T:U,W:AA,AC:AD,AF:AG,AI:AJ,AL:AM,AO:AP,AR:AS,AU:AV,AX:AY,BA:BB").ColumnWidth = 0.1
Range("BF2").Value = "0"
Application.Goto r ', True '' ici décommentes et testes
Fin:
'
End Sub

EDITION: Bonsoir Docmarti (désolé par rafraichi à temps :eek:)
 
Dernière édition:

Mongo

XLDnaute Junior
Re : Position de la fenêtre après l'exécution d'une macro

Bonjour

En utilisant ScrollRow et ScrollColumn.

Code:
Sub Macro()
'Debut de la macro

Set rVisibleRange = ActiveWindow.VisibleRange.Cells(1, 1)
 
'Code
 Cells(1, 1).Select
 '...
 
'Fin de la macro

rVisibleRange.Parent.Parent.Activate
rVisibleRange.Parent.Activate
ActiveWindow.ScrollRow = rVisibleRange.Row
ActiveWindow.ScrollColumn = rVisibleRange.Column

End Sub

Cordialement

Docmarti

Bonjour Docmarti,

Merci beaucoup, c'est exactement ce que je souhaitais obtenir.:D

@ Staple1600, merci également mais ta solution ne résout pas mon problème car la fenêtre, après exécution de la macro, se positionne sur la cellule active alors que je voudrais rester sur la fenêtre telle qu'elle était affichée, même si la cellule active n'y figure pas.

Bonne nuit à tous,
Pascal
 

Discussions similaires

Statistiques des forums

Discussions
312 209
Messages
2 086 275
Membres
103 170
dernier inscrit
HASSEN@45