VBA Ouvrir des fichiers Excel dans des fenêtres séparées

[Résolu/Fermé]
Signaler
Messages postés
211
Date d'inscription
lundi 5 octobre 2009
Statut
Membre
Dernière intervention
29 août 2018
-
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
-
Bonjour,
Je souhaite à partir d'une macro vba Excel copier/coller un onglet Excel dans une vrai nouvelle feuille Excel ... dans une autre application Excel (je sais pas si je me fais bien comprendre) ...
Bon, à dire vrai je penses que ce n'est pas possible, mais sait-on jamais ...

Peut être existe-il une option spéciale !

Thank you everybody !

Cdt
Wre.Less

7 réponses

Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
663
Bonjour,

Essaie ceci, a adapter le nom de la feuille:

Sub CopierUneFeuilleDunClasseurDansLautre()
    Dim FichierOùCopier, FichierOùColler As String
    FichierOùCopier = ActiveWorkbook.Name
    Application.Workbooks.Add
    FichierOùColler = ActiveWorkbook.Name
    Workbooks(FichierOùCopier).Activate
    Sheets("Feuil1").Select
    Sheets("Feuil1").Copy After:=Workbooks(FichierOùColler).Sheets(2)
End Sub

Messages postés
211
Date d'inscription
lundi 5 octobre 2009
Statut
Membre
Dernière intervention
29 août 2018
1
Arffff ...
Merci mais ... ça colle bien ma feuil1 mais dans la même instance d'excel ... moi je souhaiterais faire la même chose mais dans une instance différente. (Pour pouvoir comparer deux feuilles d'excel dans deux écrans différents par exemple.)

Pour info, mon code actuelle est celui-ci ... il me duplique bien ma feuille excel mais malheureusement dans la même application excel.
Sub Blabla()    
    Feuil1.Select
    Feuil1.Copy
End Sub
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
663
Quand tu regardes dans la barre de tâche en bas, tu as tes 2 classeurs Excel!
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
663
Avec ce code , tu n'ajoutes même pas un classeur!!!!!!!!!!!



Sub Blabla()    
Feuil1.Select
Feuil1.Copy
End Sub


Application.Workbooks.Add 'ajoute un classeur
Messages postés
211
Date d'inscription
lundi 5 octobre 2009
Statut
Membre
Dernière intervention
29 août 2018
1
Arfff ... Les mystères de VBA EXCEL !!

Chez moi ce code m'ouvre bien un nouveau classeur.

Sub Blabla()    
    Feuil1.Select
    Feuil1.Copy
End Sub


Bon ... Mon code est un tout petit peu plus complexe mais marche très bien pour ouvrir un nouveau classeur d'une seule feuille contenant une copie de ma feuille 1.

Sub Blabla()   
    Application.ScreenUpdating = False
    Feuil1.Visible = xlSheetVisible
    Feuil1.Select
    Feuil1.Copy
    Feuil1.Visible = xlSheetVeryHidden
    Application.ScreenUpdating = True
End Sub


Mais, j'aimerais bien que la copie soit dans un Excel séparé pour pouvoir faire des comparaison sur deux écrans différents.
:-/

Application.Workbooks.Add
M'ouvre bien un nouveau classeur, mais dans la même application ...
Je sais toujours pas si je me suis fait comprendre ! Par nouvelle application, je veux dire une fenêtre d'Excel séparé qui permette de faire des comparaisons côte à côte !!
Thank you !!
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
663
Oui, j'ai très bien compris, qu'en cochant Afficher les fenêtres côte à côte cela ne fonctionne pas. Parce que c'est la même application. Cela n'a rien a voir avec la programmation. Il faudrait faire une recherche sur Google.
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
663
Je me rappelle qu'avec XP et Office2003, je pouvais voir les 2 fenêtres!
Maintenant je suis sous Windows10 et Office 2007.
Je pensais que cela provenait du 2ème classeur qui n'était pas enregistré. Mais avec d'autres classeur enregistrés, c'est la même chose!
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
663
Petite recherche sur Google et voilà:

https://www.pcastuces.com/pratique/astuces/3907.htm
Messages postés
211
Date d'inscription
lundi 5 octobre 2009
Statut
Membre
Dernière intervention
29 août 2018
1
TADA !!
Merci CS_LE_PIVERT !

Mais ce n'est toujours pas ce que je cherche à faire. J'essais à partir d'une macro à un nouveau classeur EXCEL différent ... mais je penses que se ne sera pas possible car les fonctions excel ne peuvent interagir qu'avec les classeurs de l'instance courante d'Excel.

Deux programmes Excel différents doivent certainement être totalement hermétique l'un pour l'autre !
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
663
Je sais toujours pas si je me suis fait comprendre ! Par nouvelle application, je veux dire une fenêtre d'Excel séparé qui permette de faire des comparaisons côte à côte !!

C'est bien ce que tu as écrit!
Tu vois tes 2 classeurs!
Je suis largué :-(
Messages postés
211
Date d'inscription
lundi 5 octobre 2009
Statut
Membre
Dernière intervention
29 août 2018
1
Oui. Je vois mes deux classeurs ... mais dans le même programme Excel.
J'aurais aimé faire la même mais dans deux programmes Excel différents :-/

Bon. J'ai ajouté
Windows.BreakSideBySide
Windows.Arrange ArrangeStyle:=xlVertical

à mon code ... je vais en rester à ta solution de deux classeurs séparé verticalement dans la même fenêtre.

Merci CS_LE PIVERT.
Je laisse le sujet ouvert un peu ... si jamais quelqu'un a la vrai réponse ... sinon je conclurais que ce ne pas faisable .
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
663
Cela peut être possible si tu as 2 versions d'Office sur ta machine. Mais je ne sais pas si la nouvelle version d'Office n'écrase pas la précédente!
Voilà, je pense que l'on va en rester là pour préserver nos méninges qui ont fort à faire déjà avec la programmation.