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

  • Initiateur de la discussion Initiateur de la discussion Mongo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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 😱)
 
Dernière édition:
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.😀

@ 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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour