Macro d'un fichier x agissant sur un fichier y

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 !

anthony.unac

XLDnaute Occasionnel
Bonsoir,

Est ce possible d'imprimer la feuille 1 du fichier "x" à l'aide d une macro écrite dans la feuille 1 du fichier "y" ?

En ecrivant :

Feuil1.PrintOut 1, 1

dans le fichier y je vais obtenir l'impression de la feuille 1 du fichier y et non pas la feuille 1 du fichier x. Alors que manque t il a ce code ?

Cordialement
Anthony
 
Re : Macro d'un fichier x agissant sur un fichier y

Bonsoir,

Est ce possible d'imprimer la feuille 1 du fichier "x" à l'aide d une macro écrite dans la feuille 1 du fichier "y" ?

En ecrivant :

Feuil1.PrintOut 1, 1

dans le fichier y je vais obtenir l'impression de la feuille 1 du fichier y et non pas la feuille 1 du fichier x. Alors que manque t il a ce code ?

Cordialement
Anthony

Je pense que le soucis vient du fait qu'il faille lui indiquer le chemin ou se trouve le fichier x en question. Mais comment le codifie t on ?
 
Re : Macro d'un fichier x agissant sur un fichier y

Allô!

Pour voir la nomenclature de référence à une autre classeur :
Dans le classeur X, une cellule au hasard, tape =
Bascule dans le classeur y et sélectionne une cellule quelconque, puis frappe la touche Entrée.
Maintenant examine la formule ainsi créée dans le classeur X.

Perdrix
 
Re : Macro d'un fichier x agissant sur un fichier y

Allô!

Pour voir la nomenclature de référence à une autre classeur :
Dans le classeur X, une cellule au hasard, tape =
Bascule dans le classeur y et sélectionne une cellule quelconque, puis frappe la touche Entrée.
Maintenant examine la formule ainsi créée dans le classeur X.

Perdrix

Desole Gelinotte mais je n'ai rien vu de flagrant la dedans ?!
Ou du moins rien qui ne corresponde au probleme expose plus haut 😕
 
Re : Macro d'un fichier x agissant sur un fichier y

Bonjour Anthony.unac, Gelinotte, Yeahou, le forum,

Je propose d'ajouter une petite ligne de code a ce que propose Yeahou :

Code:
Workbooks("x").Activate
ActiveWorkbook.Sheets("Feuil1").PrintOut 1, 1

Ou meme plus simplement:

Code:
Workbooks("x").Sheets("Feuil1").PrintOut 1, 1

Comme cela, tu es sur que le fichier actif est bien le fichier "x" et que ton impression est lancee depuis celui-ci... Bien evidemment, les deux fichiers "x" et "y" doivent etre ouverts.

Bonne journee,🙂
 
Re : Macro d'un fichier x agissant sur un fichier y

Bonjour Anthony.unac, Gelinotte, Yeahou, le forum,

Je propose d'ajouter une petite ligne de code a ce que propose Yeahou :

Code:
Workbooks("x").Activate
ActiveWorkbook.Sheets("Feuil1").PrintOut 1, 1

Ou meme plus simplement:

Code:
Workbooks("x").Sheets("Feuil1").PrintOut 1, 1

Comme cela, tu es sur que le fichier actif est bien le fichier "x" et que ton impression est lancee depuis celui-ci... Bien evidemment, les deux fichiers "x" et "y" doivent etre ouverts.

Bonne journee,🙂

Excellent tout ca merci beaucoup mais si les deux fichiers ne sont pas ouverts ca ne marche vraiment pas ? Il est donc impossible d imprimer le fichier x a partir du fichier y seulement ?

D ou question subsidiaire :
*********************
Peut on ouvrir un fichier x a partir d un fichier y ouvert ?
Faire une sorte de forçage a l ouverture.
 
Re : Macro d'un fichier x agissant sur un fichier y

En fouillant encore le forum j ai trouvé ce code :

Sub test()
Application.Run ("Test2.xls!Fonct")
End Sub

Cela permettrait si j ai bien compris de forcer l ouverture du fichier "Test2.xls"
Quelqu un peut confirmer ?

Donc en combinant les differentes indications, on peut imprimer un fichier "x" à partir d'un fichier "y" ouvert à l'aide du code suivant :

Sub test()
Application.Run ("x.xls!Fonct")
Workbooks("x").Sheets("Feuil1").PrintOut 1, 1
End Sub
 
Re : Macro d'un fichier x agissant sur un fichier y

Re,

Pour ouvrir un fichier avec VBA directement depuis Excel, tu dois connaitre son chemin d'acces.
Si tu ne le connais pas, je te propose la macro suivante pour ouvrir le fichier avec un interface / boite de dialogue :

Code:
Sub OuvrirFichierX()

With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = " Veuillez selectionner le fichier x"
If .Show = -1 Then
MonFichierX = .SelectedItems(1)
End If
End With

If MonFichierX <> "" Then
Workbooks.Open (MonFichierX)
End If


End Sub

Ou sinon, si ton fichier ne bouge pas et que tu connais son chemin d'acces, tu peux directement specifier le chemin dans la commande Open :

Code:
Workbooks.Open("C:\MyFolder\MonFichierX.xls")

A noter que j'ai fais une erreur dans mon code pour l'impression, le nom du fichier doit apparaitre en entier :

Code:
Workbooks("[COLOR="Red"]MonFichierX.xls[/COLOR]").Sheets("Feuil1").PrintOut 1, 1

Bonne journee,🙂
 
Re : Macro d'un fichier x agissant sur un fichier y

Re,

Pour lancer ta macro d'ouverture du fichier "x" des l'ouverture du fichier "y", il faut que tu inscrives la macro suivante dans la partie "Classeur" de VBA :

Code:
Private Sub Workbook_Open()
    Workbooks.Open("C:\MyFolder\MonFichierX.xls")
End Sub

Cette macro ouvrira automatiquement ton fichier "X" a l'ouverture de ton fichier "y"...😉

La macro "Private Sub Workbook_Open()" s'execute automatiquement a chaque ouverture du fichier dans lequel elle est enregistree.

Bonne journee,🙂
 
Re : Macro d'un fichier x agissant sur un fichier y

Re,

Pour lancer ta macro d'ouverture du fichier "x" des l'ouverture du fichier "y", il faut que tu inscrives la macro suivante dans la partie "Classeur" de VBA :

Code:
Private Sub Workbook_Open()
    Workbooks.Open("C:\MyFolder\MonFichierX.xls")
End Sub

Cette macro ouvrira automatiquement ton fichier "X" a l'ouverture de ton fichier "y"...😉

La macro "Private Sub Workbook_Open()" s'execute automatiquement a chaque ouverture du fichier dans lequel elle est enregistree.

Bonne journee,🙂

Ca c est radical comme code merci beaucoup mais finalement j ai opte pour une solution plus raisonnable qui consiste a mettre dans un meme fichier les feuilles des fichiers x et y au demeurant.
Du coup feuil1 de x se trouve en feuil1 du fichier global et feuil1 de y se trouve en feuil2 du fichier global. C est plus raisonnable ainsi je pense pour les histoires d impressions.
 
- 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
15
Affichages
793
Retour