XL 2019 Ouvertures pas en cascade

  • Initiateur de la discussion Initiateur de la discussion guy72
  • 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 !

guy72

XLDnaute Impliqué
Bonjour

J'ai 3 fichiers Excel à ouvrir quand je commence à travailler.
Je souhaiterais qu'ils ne s'ouvre pas en cascade, à part le 1er, je ne vois pas les onglets des autres, je suis obligé à chaque fois de remonter les pages.

Y a-t-il une solution ?
 
C'est à dire:
1) Vous appelez l'explorateur, vous sélectionnez les 3 classeurs et vous faites Ouvrir ?
2) Vous appelez l'explorateur, vous sélectionnez 1 classeur , vous faites Ouvrir, vous ré-affichez l'explorateur etc ...

Cela ne ressemble pas à un problème Excel mais plutôt au thème windows utilisé .
Quel est votre système d'exploitation ? cela vous arrive-t-il sur un autre ordi ?
 
Dans la barre de tâches, avec l'icône Excel:
Avec la touche de droite, j'ai dans ma liste "épinglé" mes 3 classeurs.
Je clic sur 1 puis 2 puis 3.

J'ai Windows 11
Je n'ai pas d'autre ordinateur, je sais qu'avec Excel 2010 je n'avais pas ce problème
 
re,
Ok, d'accord, je comprend mieux, cela ne vous arrive que lorsque vous réduisez la taille du premier classeur ouvert, les autres s'affichent par la suite en décalé, voire un peu n'importe où ...
C'est un phénomène un peu universel et récurent qu'on ne peut pas contrer par un quelconque réglage ( à ma connaissance ).
Si vous voulez et que vous n'êtes pas contre les macros, on peut à l'ouverture du premier classeur faire en sorte qu'il soit d'une certaine taille et ouvrir les 2 autres classeurs à un endroit précis ....
 
Cette proposition est vraiment spécifique à la configuration de votre PC.
Sur d'autres appareils, elle ne devrait pas être nécessaire .
Dans le module Thisworkbook du classeur maître ( celui que vous ouvrez en premier ),
mettre le code ci-dessous ( vous devrez sauvegarder le classeur avec l'extension xlsm puis n'utiliser que celui-ci )
VB:
Private Type App
    Top     As Double
    Left    As Double
    Height  As Double
    Width   As Double
End Type
Private Sub Workbook_Open()
Dim App As App
    With Application
        .WindowState = xlMaximized
        App.Top = 0
        App.Left = .Left
        App.Width = .Width
        App.Height = .Height
        .WindowState = xlNormal
    End With
    With Windows(ThisWorkbook.Name)
        .Top = App.Top
        .Width = App.Width * 0.75
        .Height = App.Height
        App.Left = App.Width - .Width
        .Left = App.Left
    End With
    Dossier = ThisWorkbook.Path & "\"
    On Error Resume Next
    For Each wb In Array("Classeur2.xlsx", "Classeur3.xlsx")
        Workbooks.Open Filename:=Dossier & wb
        If Err = 0 Then
            ActiveWindow.Top = App.Top
            ActiveWindow.Left = App.Left
        End If
        Err.Clear
    Next
    Windows(ThisWorkbook.Name).Activate
        
End Sub

La partie spécifique à votre demande doit être renseignée :
1700216227354.png
 

Pièces jointes

Ok, merci, je regarde ça demain.

Bonne soirée

Bonjour,
Je mets le code dans le fichier "Récuperation_des_donnees.xlsm"
J'ai remplacé Classer 2 par "Convertir.xlsm"
J'ai remplacé Classer 3 par "Novembre 2023.xlsm"

1) J'ouvre donc en 1er, le fichier "Récuperation_des_donnees.xlsm"
2) Ensuite, j'ouvre en 2ème, un fichier qui s'appelle "Convertir.xlsm"
3) Un 3ème fichier "Novembre 2023", lui s'ouvre avec une macro quand j'en ai fini avec le 2ème.

Avec la macro (que je mets dans le 1er fichier), ça ouvre :
1) Le 1er (bien sûr) "Récuperation_des_donnees.xlsm"
2) Le 2ème "Convertir.xlsm" s'ouvre en même temps (impeccable !!!) jusque-là pas de problème, mais...
Le 2ème,"Convertir.xlsm" se mets derrière le 1er (j'aimerais mieux qu'il soit devant).

Donc pour ce problème, j'ai mis le code dans le 2ème "Convertir.xlsm", ça fonctionne, les 2 fichiers sont bien l'un derrière l'autre, mais à droite et pas à gauche.
Quant au 3ème "Novembre 2023.xlsm" il se mets en décalage vers le bas.

Je ne sais pas si ce que j'ai fait est bon et que je me suis bien expliquer.....?

Je n'ai pas compris Dossier = ThisWorkbook.Path & "\"
il faut faire quoi ?
 
Dernière édition:
Bonjour,
Voilà la macro finale, j'ai simplifié un peu (à tâtons, car je ne connais pas le VBA).
Les classeurs sont à gauche et en haut comme je les avais laissés en quittant.
C'est Parfait 👍

VB:
Private Type App
    Top     As Double
    Left    As Double
    Height  As Double
    Width   As Double
End Type
Private Sub Workbook_Open()
Dim App As App
  
    Dossier = ThisWorkbook.Path & "\"
    On Error Resume Next
    For Each wb In Array("Recuperation_des_donnees.xlsm", "Décembre_2023.xlsm")
    Workbooks.Open Filename:=Dossier & wb
        If Err = 0 Then
            ActiveWindow.Top = App.Top
            ActiveWindow.Left = App.Left
        End If
Next
    Windows(ThisWorkbook.Name).Activate
    
    
End Sub
 
- 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

Réponses
40
Affichages
1 K
  • Question Question
Réponses
7
Affichages
186
Réponses
2
Affichages
274
  • Question Question
Microsoft 365 Problème Code VBA
Réponses
9
Affichages
446
Retour