Passer au premier plan un fichier ouvert dans une autre instance

Salut,

J'ouvre un fichier Excel dans une nouvelle instance (pour pouvoir intervenir dessus sans suspendre la macro) avec le code :

Fichier = Dossier_CarnetsMécanos & "Carnet mécanicien " & Trigrm & ".xlsm"

Dim CarnetMécano As Excel.Application
Set CarnetMécano = CreateObject("Excel.Application")
CarnetMécano.Workbooks.Open Filename:=Fichier
CarnetMécano.WindowState = xlMaximized
CarnetMécano.Visible = True

Comment faire pour qu'il s'affiche au premier plan ? Tel quel, il s'ouvre systématiquement en arrière plan.

J'ai cherché sur le net et tout ce que j'ai trouvé me renvoie une erreur.

Merci d'avance.

Manu

Bonjour,

comment ça pour intervenir dessus ?
Manuellement ou avec ses propres macros ? Car ta macro en cours ne le verra pas.
eric

Ces fichiers sont :

- un " CV " dont la forme est règlementée que l'opérateur doit présenter à l'autorité pour justifier de son expérience et de sa qualification pour pouvoir être nommé à certains postes d'encadrement,

- 2 logs d'enregistrement de son expérience professionnelle. Ils sont principalement remplis automatiquement en fonction des actions réalisées au travers du logiciel.

Mais à la fois pour permettre une mise à jour manuelle et pour répondre aux exigences du RGPD, l'opérateur doit pouvoir accéder et modifier librement les données qui le concernent.

L'instance dans laquelle le logiciel tourne est masquée pour que l'opérateur n'ait pas accès aux tables de données (et accessoirement aux informations personnelles des autres opérateurs), mais pour ces 3 fichiers je dois rendre les feuilles Excel visibles.

J'ai essayé de conserver l'instance du logiciel visible et de masquer uniquement les feuilles des tables de données j'ai abandonné l'idée. Je conserve l'instance entière masquée.

Du coup j'ouvre les fichiers qui doivent être accessibles dans une seconde instance qui elle est visible. Mais cette instance s'ouvre en arrière plan alors que je voudrais que les fichiers ouverts soient affichés à l'écran sans que l'opérateur n'ait à faire une quelconque manip.

Sur ces fichiers, il y a 2 macros de tri des données et d'impression mais elle sont lancées par des boutons directement sur les feuilles, pas au travers de l'instance d'origine.

Manu

Chez moi elle s'ouvre au 1er plan.
Si je la met derrière, ceci la remet bien devant AppActivate "Pilotes.xlsx"
Si pb essaie avec "Pilotes.xlsx - Excel"
eric

J'ai un " Argument ou appel de procédure incorrect ".

J'ai essayé avec AppActivate CarnetMécano pour activer l'application Excel et AppActivate Fichier pour activer le fichier. J'ai aussi essayé d'isoler le seul nom du fichier étant donné que la variable contient le chemin et le nom.

Rajouter " - Excel" à la fin ne change rien.

A noter que je passe par un script pour ouvrir le logiciel dans une instance propre, pour ne pas interférer avec les fichiers Excel déjà ouverts et j'ai le même problème : l'instance ouverte par le script est masquée par toutes les autres fenêtres ouvertes.

Manu

En fouillant un peu j'ai trouvé la solution : AppActivate (CarnetMécano.Caption)

Rechercher des sujets similaires à "passer premier plan fichier ouvert instance"