Je cherche un macro me permettant d'imprimer à partir d'un classeur excel
certaines feuilles d'un classeur excel externe dans un ordre où je donne le
nom de feuilles. Mais je ne voudrai pas que ce calsseur externe s'ouvre ou
s'active à l'écran
Avec le choix de la mise en page, je crois que c before.print
J'ai trouvé ce 2 macros qui pourraient correspondre :
Private Sub le_marche()
With CreateObject(Class:="Excel.Application")
.Documents.Open("C:/mondossier/le_fichier .xls").PrintOut
.quit
End With
End Sub
Private Sub CommandButton1_Click()
Sheets(Array("feuille1", "feuille2")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Annexe 1").Select
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour lsh,
Tu copies le script suivant dans l'application "notePad" Tu enregistres sur le bureau le document. Assure-toi que le nom du fichier ait une extension .vbs à l'enregistrement.
Dans le script : indique correctement le fichier à imprimer et le nom de la macro "imprimer" de ton fichier à imprimer que la procédure doit lancer pour l'impression. La macro doit être dans un module Standard... sinon tu dois ajouter le nom du module devant le nom de la procédure Feuil1.Imprimer
Si tu double-cliques sur le fichier, tu vas lancer l'impression.
'----------------------------- Dim Xl Dim Wk Set Xl = WScript.CreateObject("EXCEL.application") Xl.Visible = False Set Wk = Xl.Workbooks.Open("c:FichieràImprimer.xls") Xl.Run "Imprimer" Wk.Close Xl.Quit Set Xl = Nothing '-----------------------------
Est-ce que cela répond à ton besoin ?
Salutations!
"lsh" a écrit dans le message de news: Bonjour à tous,
Je cherche un macro me permettant d'imprimer à partir d'un classeur excel certaines feuilles d'un classeur excel externe dans un ordre où je donne le nom de feuilles. Mais je ne voudrai pas que ce calsseur externe s'ouvre ou s'active à l'écran Avec le choix de la mise en page, je crois que c before.print
J'ai trouvé ce 2 macros qui pourraient correspondre :
Private Sub le_marche() With CreateObject(Class:="Excel.Application") .Documents.Open("C:/mondossier/le_fichier .xls").PrintOut .quit End With End Sub
Private Sub CommandButton1_Click() Sheets(Array("feuille1", "feuille2")).Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Annexe 1").Select End Sub
merci d'avance de votre aide
Bonjour lsh,
Tu copies le script suivant dans l'application "notePad"
Tu enregistres sur le bureau le document. Assure-toi
que le nom du fichier ait une extension .vbs à l'enregistrement.
Dans le script : indique correctement le fichier à imprimer
et le nom de la macro "imprimer" de ton
fichier à imprimer que la procédure doit
lancer pour l'impression.
La macro doit être dans un module Standard... sinon
tu dois ajouter le nom du module devant le nom de la procédure
Feuil1.Imprimer
Si tu double-cliques sur le fichier, tu vas lancer l'impression.
'-----------------------------
Dim Xl
Dim Wk
Set Xl = WScript.CreateObject("EXCEL.application")
Xl.Visible = False
Set Wk = Xl.Workbooks.Open("c:FichieràImprimer.xls")
Xl.Run "Imprimer"
Wk.Close
Xl.Quit
Set Xl = Nothing
'-----------------------------
Est-ce que cela répond à ton besoin ?
Salutations!
"lsh" <lsh@discussions.microsoft.com> a écrit dans le message de news: A50DD6A7-8A0E-4F82-9023-4E434204E146@microsoft.com...
Bonjour à tous,
Je cherche un macro me permettant d'imprimer à partir d'un classeur excel
certaines feuilles d'un classeur excel externe dans un ordre où je donne le
nom de feuilles. Mais je ne voudrai pas que ce calsseur externe s'ouvre ou
s'active à l'écran
Avec le choix de la mise en page, je crois que c before.print
J'ai trouvé ce 2 macros qui pourraient correspondre :
Private Sub le_marche()
With CreateObject(Class:="Excel.Application")
.Documents.Open("C:/mondossier/le_fichier .xls").PrintOut
.quit
End With
End Sub
Private Sub CommandButton1_Click()
Sheets(Array("feuille1", "feuille2")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Annexe 1").Select
End Sub
Tu copies le script suivant dans l'application "notePad" Tu enregistres sur le bureau le document. Assure-toi que le nom du fichier ait une extension .vbs à l'enregistrement.
Dans le script : indique correctement le fichier à imprimer et le nom de la macro "imprimer" de ton fichier à imprimer que la procédure doit lancer pour l'impression. La macro doit être dans un module Standard... sinon tu dois ajouter le nom du module devant le nom de la procédure Feuil1.Imprimer
Si tu double-cliques sur le fichier, tu vas lancer l'impression.
'----------------------------- Dim Xl Dim Wk Set Xl = WScript.CreateObject("EXCEL.application") Xl.Visible = False Set Wk = Xl.Workbooks.Open("c:FichieràImprimer.xls") Xl.Run "Imprimer" Wk.Close Xl.Quit Set Xl = Nothing '-----------------------------
Est-ce que cela répond à ton besoin ?
Salutations!
"lsh" a écrit dans le message de news: Bonjour à tous,
Je cherche un macro me permettant d'imprimer à partir d'un classeur excel certaines feuilles d'un classeur excel externe dans un ordre où je donne le nom de feuilles. Mais je ne voudrai pas que ce calsseur externe s'ouvre ou s'active à l'écran Avec le choix de la mise en page, je crois que c before.print
J'ai trouvé ce 2 macros qui pourraient correspondre :
Private Sub le_marche() With CreateObject(Class:="Excel.Application") .Documents.Open("C:/mondossier/le_fichier .xls").PrintOut .quit End With End Sub
Private Sub CommandButton1_Click() Sheets(Array("feuille1", "feuille2")).Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Annexe 1").Select End Sub
merci d'avance de votre aide
lsh
salut, merci de ta réponse elle est très instructive et pourra me servir, néamoins ce que je voudrai faire ( je me suis peut etre mal exprimé) c'est que sur mon classeur 1 (menu général, sorte de tableau de bord) j'ai des boutons qui ouvrent différents classeurs (2,3,4) externes.
Je voudrai qu'à partir de ce menu général je puisse imprimer ces classeurs soit tous d'un coup avec un seul bouton, ainsi que d'autre bouton pour imprimer un classeur choisi. Et ce sans etre obligé d'ouvir ceux-ci
C'ets pour cette raison que je pensai que la macro pouvais ressembler à celle que que j'avai mise ci-desous.
cordialement
salut, merci de ta réponse elle est très instructive et pourra me servir,
néamoins ce que je voudrai faire ( je me suis peut etre mal exprimé) c'est
que sur mon classeur 1 (menu général, sorte de tableau de bord) j'ai des
boutons qui ouvrent différents classeurs (2,3,4) externes.
Je voudrai qu'à partir de ce menu général je puisse imprimer ces classeurs
soit tous d'un coup avec un seul bouton, ainsi que d'autre bouton pour
imprimer un classeur choisi. Et ce sans etre obligé d'ouvir ceux-ci
C'ets pour cette raison que je pensai que la macro pouvais ressembler à
celle que que j'avai mise ci-desous.
salut, merci de ta réponse elle est très instructive et pourra me servir, néamoins ce que je voudrai faire ( je me suis peut etre mal exprimé) c'est que sur mon classeur 1 (menu général, sorte de tableau de bord) j'ai des boutons qui ouvrent différents classeurs (2,3,4) externes.
Je voudrai qu'à partir de ce menu général je puisse imprimer ces classeurs soit tous d'un coup avec un seul bouton, ainsi que d'autre bouton pour imprimer un classeur choisi. Et ce sans etre obligé d'ouvir ceux-ci
C'ets pour cette raison que je pensai que la macro pouvais ressembler à celle que que j'avai mise ci-desous.
cordialement
michdenis
Essaie quelque chose comme ceci :
Attache cette macro "LancerImpressionau" bouton de commande qui lanera l'impression.
Ne pas oublier d'adapter le nom du fichier et le nom de la macro dans la procédure.
'------------------------------- Sub LancerImpression()
Dim Xl As New Excel.Application Dim Wk As Workbook Dim LaMacro As String
'Imprimer = Nom de la macro servant à imprimer ' le classeur. 'Cette macro est réputée être écrite dans un 'module standard...
'Après tes tests, lorsque tout fonctionnera 'tu affectes False à la propriét visible -> rien voir Xl.Visible = True Set Wk = Xl.Workbooks.Open("c:Classeur1.xls") LaMacro = "'" & Wk.Name & "'!Imprimer" Application.Run LaMacro Wk.Close False Xl.Quit Set Wk = Nothing: Set Xl = Nothing End Sub
Cette macro doit être dans un module standard de ton fichier que tu veux imprimer '-------------------------------- Sub Imprimer()
Dim Arr As Variant 'Définir les feuilles à imprimer
Arr = Array("Feuil1", "Feuil3") Sheets(Arr).Select For Each Sh In ActiveWindow.SelectedSheets Sh.PrintOut Next Sheets(Arr(1)).Select End Sub '--------------------------------
Salutations!
"lsh" a écrit dans le message de news: salut, merci de ta réponse elle est très instructive et pourra me servir, néamoins ce que je voudrai faire ( je me suis peut etre mal exprimé) c'est que sur mon classeur 1 (menu général, sorte de tableau de bord) j'ai des boutons qui ouvrent différents classeurs (2,3,4) externes.
Je voudrai qu'à partir de ce menu général je puisse imprimer ces classeurs soit tous d'un coup avec un seul bouton, ainsi que d'autre bouton pour imprimer un classeur choisi. Et ce sans etre obligé d'ouvir ceux-ci
C'ets pour cette raison que je pensai que la macro pouvais ressembler à celle que que j'avai mise ci-desous.
cordialement
Essaie quelque chose comme ceci :
Attache cette macro "LancerImpressionau" bouton de commande
qui lanera l'impression.
Ne pas oublier d'adapter le nom du fichier et le nom de la macro
dans la procédure.
'-------------------------------
Sub LancerImpression()
Dim Xl As New Excel.Application
Dim Wk As Workbook
Dim LaMacro As String
'Imprimer = Nom de la macro servant à imprimer
' le classeur.
'Cette macro est réputée être écrite dans un
'module standard...
'Après tes tests, lorsque tout fonctionnera
'tu affectes False à la propriét visible -> rien voir
Xl.Visible = True
Set Wk = Xl.Workbooks.Open("c:Classeur1.xls")
LaMacro = "'" & Wk.Name & "'!Imprimer"
Application.Run LaMacro
Wk.Close False
Xl.Quit
Set Wk = Nothing: Set Xl = Nothing
End Sub
Cette macro doit être dans un module standard de ton
fichier que tu veux imprimer
'--------------------------------
Sub Imprimer()
Dim Arr As Variant
'Définir les feuilles à imprimer
Arr = Array("Feuil1", "Feuil3")
Sheets(Arr).Select
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintOut
Next
Sheets(Arr(1)).Select
End Sub
'--------------------------------
Salutations!
"lsh" <lsh@discussions.microsoft.com> a écrit dans le message de news: DFF39CD5-B417-4FD0-8604-2D1488A07156@microsoft.com...
salut, merci de ta réponse elle est très instructive et pourra me servir,
néamoins ce que je voudrai faire ( je me suis peut etre mal exprimé) c'est
que sur mon classeur 1 (menu général, sorte de tableau de bord) j'ai des
boutons qui ouvrent différents classeurs (2,3,4) externes.
Je voudrai qu'à partir de ce menu général je puisse imprimer ces classeurs
soit tous d'un coup avec un seul bouton, ainsi que d'autre bouton pour
imprimer un classeur choisi. Et ce sans etre obligé d'ouvir ceux-ci
C'ets pour cette raison que je pensai que la macro pouvais ressembler à
celle que que j'avai mise ci-desous.
Attache cette macro "LancerImpressionau" bouton de commande qui lanera l'impression.
Ne pas oublier d'adapter le nom du fichier et le nom de la macro dans la procédure.
'------------------------------- Sub LancerImpression()
Dim Xl As New Excel.Application Dim Wk As Workbook Dim LaMacro As String
'Imprimer = Nom de la macro servant à imprimer ' le classeur. 'Cette macro est réputée être écrite dans un 'module standard...
'Après tes tests, lorsque tout fonctionnera 'tu affectes False à la propriét visible -> rien voir Xl.Visible = True Set Wk = Xl.Workbooks.Open("c:Classeur1.xls") LaMacro = "'" & Wk.Name & "'!Imprimer" Application.Run LaMacro Wk.Close False Xl.Quit Set Wk = Nothing: Set Xl = Nothing End Sub
Cette macro doit être dans un module standard de ton fichier que tu veux imprimer '-------------------------------- Sub Imprimer()
Dim Arr As Variant 'Définir les feuilles à imprimer
Arr = Array("Feuil1", "Feuil3") Sheets(Arr).Select For Each Sh In ActiveWindow.SelectedSheets Sh.PrintOut Next Sheets(Arr(1)).Select End Sub '--------------------------------
Salutations!
"lsh" a écrit dans le message de news: salut, merci de ta réponse elle est très instructive et pourra me servir, néamoins ce que je voudrai faire ( je me suis peut etre mal exprimé) c'est que sur mon classeur 1 (menu général, sorte de tableau de bord) j'ai des boutons qui ouvrent différents classeurs (2,3,4) externes.
Je voudrai qu'à partir de ce menu général je puisse imprimer ces classeurs soit tous d'un coup avec un seul bouton, ainsi que d'autre bouton pour imprimer un classeur choisi. Et ce sans etre obligé d'ouvir ceux-ci
C'ets pour cette raison que je pensai que la macro pouvais ressembler à celle que que j'avai mise ci-desous.
cordialement
lsh
salut et merci pour ta réponse
j'ai suivi à la letre tes consigne et voici ce qui se passe .
lorsque j'exécute la macro imprimer placée dans les les dossier cibles pas de problème ça s'imprime.
Par contre lorsque j'écute la macro maitre ça me met pour un fichier: la méthode "run" de l'objet _application à échoué alors que j'ai vérifié la cible et c'est bien le bon fichier
Et aussi pour un autre classeur erreur d'éxécution 9 l'indice n'appartient pas à la sélécetion. Faut il déterminer des plages . Car j'ai défini un zone d'impression manuellement ainsi que le fait que je veuille un ajustement 1 page sur 1
je regarde dans l'aide mais rien y fait, je bloque.
L'autre élement c'est que
salut et merci pour ta réponse
j'ai suivi à la letre tes consigne et voici ce qui se passe .
lorsque j'exécute la macro imprimer placée dans les les dossier cibles pas
de problème ça s'imprime.
Par contre lorsque j'écute la macro maitre ça me met pour un fichier:
la méthode "run" de l'objet _application à échoué alors que j'ai vérifié la
cible et c'est bien le bon fichier
Et aussi pour un autre classeur erreur d'éxécution 9 l'indice n'appartient
pas à la sélécetion.
Faut il déterminer des plages . Car j'ai défini un zone d'impression
manuellement ainsi que le fait que je veuille un ajustement 1 page sur 1
je regarde dans l'aide mais rien y fait, je bloque.
j'ai suivi à la letre tes consigne et voici ce qui se passe .
lorsque j'exécute la macro imprimer placée dans les les dossier cibles pas de problème ça s'imprime.
Par contre lorsque j'écute la macro maitre ça me met pour un fichier: la méthode "run" de l'objet _application à échoué alors que j'ai vérifié la cible et c'est bien le bon fichier
Et aussi pour un autre classeur erreur d'éxécution 9 l'indice n'appartient pas à la sélécetion. Faut il déterminer des plages . Car j'ai défini un zone d'impression manuellement ainsi que le fait que je veuille un ajustement 1 page sur 1
je regarde dans l'aide mais rien y fait, je bloque.
Le tableau "Arr" contient 2 feuilles dans la macro que je t'ai soumise "Feuil1" et "Feuil3". Ce n'est qu'un exemple...Quelle est le nom de la feuille ou des feuilles que tu veux imprimer... dudit classeur ? Je n'en ai aucune idée !
Le copier-coller c'est bien, mais il faut prendre quand même un peu de temps pour essayer de comprendre comment fonctionne les macros et en cas de besoin, poser une ou des questions additionnelles.
Salutations!
"lsh" a écrit dans le message de news: tdésolé ça met porpose de déboguer cete ligne
Sheets(Arr).Select
Bonjour lsh,
C'est à toi d'adapter les macros.
| Sheets(Arr).Select
Le tableau "Arr" contient 2 feuilles dans la macro que je t'ai soumise "Feuil1" et "Feuil3".
Ce n'est qu'un exemple...Quelle est le nom de la feuille ou des feuilles que tu veux imprimer...
dudit classeur ? Je n'en ai aucune idée !
Le copier-coller c'est bien, mais il faut prendre quand même un peu de temps pour
essayer de comprendre comment fonctionne les macros et en cas de besoin, poser
une ou des questions additionnelles.
Salutations!
"lsh" <lsh@discussions.microsoft.com> a écrit dans le message de news: 958EACD1-2810-433C-8DCA-F436A3BEEA45@microsoft.com...
tdésolé ça met porpose de déboguer cete ligne
Le tableau "Arr" contient 2 feuilles dans la macro que je t'ai soumise "Feuil1" et "Feuil3". Ce n'est qu'un exemple...Quelle est le nom de la feuille ou des feuilles que tu veux imprimer... dudit classeur ? Je n'en ai aucune idée !
Le copier-coller c'est bien, mais il faut prendre quand même un peu de temps pour essayer de comprendre comment fonctionne les macros et en cas de besoin, poser une ou des questions additionnelles.
Salutations!
"lsh" a écrit dans le message de news: tdésolé ça met porpose de déboguer cete ligne
Sheets(Arr).Select
lsh
rebonjour,
merci de ton aide, je partage exctement lameme opinion que toi concernant les demande d'aide. Je ne pose pas des question juste ds un but de faire ttravailler les autres à ma place et j'ai horreur de ne pas comprendre, aussi en tant que newbies je me suis plus à décortiquer et comprndre le fonctionnement de ta macro. J'avais d'ailleurs bien compris et changé le nom de mes feuilles mais malheureusement il y a un bug sans que je comprenne d'ou cela vient enfn je crois déceler. En fait lors de l'exe lancer impression le classeur externe se lance mais j'i un pop qui me dit que le classeur contient des liaisopns qui ne peuvent etr mises à jour.
Je me vois donc proposer soit de cliquer sur continuer et la rien ne s'opère et on retrouve l'erreur 9. Soit je chosit de modifer les liaisons. En cliquant dessus je vois le lien avec mon propre classeur et il est ok. De plus l'invite commande est censé mettre à jour en auto ss rien demander. Je chosi donc fermer et ça ne passe pas, retour à la case départ. Le pb est donc lié a cette mise en jour qui stoppe la procédure.
rebonjour,
merci de ton aide, je partage exctement lameme opinion que toi concernant
les demande d'aide. Je ne pose pas des question juste ds un but de faire
ttravailler les autres à ma place et j'ai horreur de ne pas comprendre, aussi
en tant que newbies je me suis plus à décortiquer et comprndre le
fonctionnement de ta macro.
J'avais d'ailleurs bien compris et changé le nom de mes feuilles mais
malheureusement il y a un bug sans que je comprenne d'ou cela vient enfn je
crois déceler.
En fait lors de l'exe lancer impression le classeur externe se lance mais
j'i un pop qui me dit que le classeur contient des liaisopns qui ne peuvent
etr mises à jour.
Je me vois donc proposer soit de cliquer sur continuer et la rien ne s'opère
et on retrouve l'erreur 9.
Soit je chosit de modifer les liaisons. En cliquant dessus je vois le lien
avec mon propre classeur et il est ok. De plus l'invite commande est censé
mettre à jour en auto ss rien demander. Je chosi donc fermer et ça ne passe
pas, retour à la case départ.
Le pb est donc lié a cette mise en jour qui stoppe la procédure.
merci de ton aide, je partage exctement lameme opinion que toi concernant les demande d'aide. Je ne pose pas des question juste ds un but de faire ttravailler les autres à ma place et j'ai horreur de ne pas comprendre, aussi en tant que newbies je me suis plus à décortiquer et comprndre le fonctionnement de ta macro. J'avais d'ailleurs bien compris et changé le nom de mes feuilles mais malheureusement il y a un bug sans que je comprenne d'ou cela vient enfn je crois déceler. En fait lors de l'exe lancer impression le classeur externe se lance mais j'i un pop qui me dit que le classeur contient des liaisopns qui ne peuvent etr mises à jour.
Je me vois donc proposer soit de cliquer sur continuer et la rien ne s'opère et on retrouve l'erreur 9. Soit je chosit de modifer les liaisons. En cliquant dessus je vois le lien avec mon propre classeur et il est ok. De plus l'invite commande est censé mettre à jour en auto ss rien demander. Je chosi donc fermer et ça ne passe pas, retour à la case départ. Le pb est donc lié a cette mise en jour qui stoppe la procédure.
michdenis
Bonjour Lsh,
Essaie cette procédure, elle désactive la mise à jour des liens externes en passant l'application Excel en mode : Calcul manuel.
'------------------------------------------ Sub LancerImpression()
Dim Xl As New Excel.Application Dim Wk As Workbook, W As Workbook Dim LaMacro As String
'Imprimer = Nom de la macro servant à imprimer ' le classeur. 'Cette macro est réputée être écrite dans un 'module standard...
'Après tes tests, lorsque tout fonctionnera 'tu affectes False à la propriét visible -> rien voir Xl.Visible = True Xl.Workbooks.Add Xl.Calculation = xlCalculationManual Set Wk = Xl.Workbooks.Open("c:Classeur1.xls") LaMacro = "'" & Wk.Name & "'!Imprimer" Application.Run LaMacro Xl.Calculation = xlCalculationAutomatic For Each W In Xl.Workbooks Wk.Close False Next Xl.Quit Set Wk = Nothing: Set Xl = Nothing
End Sub '------------------------------------------
Salutations!
"lsh" a écrit dans le message de news: rebonjour,
merci de ton aide, je partage exctement lameme opinion que toi concernant les demande d'aide. Je ne pose pas des question juste ds un but de faire ttravailler les autres à ma place et j'ai horreur de ne pas comprendre, aussi en tant que newbies je me suis plus à décortiquer et comprndre le fonctionnement de ta macro. J'avais d'ailleurs bien compris et changé le nom de mes feuilles mais malheureusement il y a un bug sans que je comprenne d'ou cela vient enfn je crois déceler. En fait lors de l'exe lancer impression le classeur externe se lance mais j'i un pop qui me dit que le classeur contient des liaisopns qui ne peuvent etr mises à jour.
Je me vois donc proposer soit de cliquer sur continuer et la rien ne s'opère et on retrouve l'erreur 9. Soit je chosit de modifer les liaisons. En cliquant dessus je vois le lien avec mon propre classeur et il est ok. De plus l'invite commande est censé mettre à jour en auto ss rien demander. Je chosi donc fermer et ça ne passe pas, retour à la case départ. Le pb est donc lié a cette mise en jour qui stoppe la procédure.
Bonjour Lsh,
Essaie cette procédure, elle désactive la mise à jour des liens externes
en passant l'application Excel en mode : Calcul manuel.
'------------------------------------------
Sub LancerImpression()
Dim Xl As New Excel.Application
Dim Wk As Workbook, W As Workbook
Dim LaMacro As String
'Imprimer = Nom de la macro servant à imprimer
' le classeur.
'Cette macro est réputée être écrite dans un
'module standard...
'Après tes tests, lorsque tout fonctionnera
'tu affectes False à la propriét visible -> rien voir
Xl.Visible = True
Xl.Workbooks.Add
Xl.Calculation = xlCalculationManual
Set Wk = Xl.Workbooks.Open("c:Classeur1.xls")
LaMacro = "'" & Wk.Name & "'!Imprimer"
Application.Run LaMacro
Xl.Calculation = xlCalculationAutomatic
For Each W In Xl.Workbooks
Wk.Close False
Next
Xl.Quit
Set Wk = Nothing: Set Xl = Nothing
End Sub
'------------------------------------------
Salutations!
"lsh" <lsh@discussions.microsoft.com> a écrit dans le message de news: E123F01A-39D3-4706-95BF-F32A734A6128@microsoft.com...
rebonjour,
merci de ton aide, je partage exctement lameme opinion que toi concernant
les demande d'aide. Je ne pose pas des question juste ds un but de faire
ttravailler les autres à ma place et j'ai horreur de ne pas comprendre, aussi
en tant que newbies je me suis plus à décortiquer et comprndre le
fonctionnement de ta macro.
J'avais d'ailleurs bien compris et changé le nom de mes feuilles mais
malheureusement il y a un bug sans que je comprenne d'ou cela vient enfn je
crois déceler.
En fait lors de l'exe lancer impression le classeur externe se lance mais
j'i un pop qui me dit que le classeur contient des liaisopns qui ne peuvent
etr mises à jour.
Je me vois donc proposer soit de cliquer sur continuer et la rien ne s'opère
et on retrouve l'erreur 9.
Soit je chosit de modifer les liaisons. En cliquant dessus je vois le lien
avec mon propre classeur et il est ok. De plus l'invite commande est censé
mettre à jour en auto ss rien demander. Je chosi donc fermer et ça ne passe
pas, retour à la case départ.
Le pb est donc lié a cette mise en jour qui stoppe la procédure.
Essaie cette procédure, elle désactive la mise à jour des liens externes en passant l'application Excel en mode : Calcul manuel.
'------------------------------------------ Sub LancerImpression()
Dim Xl As New Excel.Application Dim Wk As Workbook, W As Workbook Dim LaMacro As String
'Imprimer = Nom de la macro servant à imprimer ' le classeur. 'Cette macro est réputée être écrite dans un 'module standard...
'Après tes tests, lorsque tout fonctionnera 'tu affectes False à la propriét visible -> rien voir Xl.Visible = True Xl.Workbooks.Add Xl.Calculation = xlCalculationManual Set Wk = Xl.Workbooks.Open("c:Classeur1.xls") LaMacro = "'" & Wk.Name & "'!Imprimer" Application.Run LaMacro Xl.Calculation = xlCalculationAutomatic For Each W In Xl.Workbooks Wk.Close False Next Xl.Quit Set Wk = Nothing: Set Xl = Nothing
End Sub '------------------------------------------
Salutations!
"lsh" a écrit dans le message de news: rebonjour,
merci de ton aide, je partage exctement lameme opinion que toi concernant les demande d'aide. Je ne pose pas des question juste ds un but de faire ttravailler les autres à ma place et j'ai horreur de ne pas comprendre, aussi en tant que newbies je me suis plus à décortiquer et comprndre le fonctionnement de ta macro. J'avais d'ailleurs bien compris et changé le nom de mes feuilles mais malheureusement il y a un bug sans que je comprenne d'ou cela vient enfn je crois déceler. En fait lors de l'exe lancer impression le classeur externe se lance mais j'i un pop qui me dit que le classeur contient des liaisopns qui ne peuvent etr mises à jour.
Je me vois donc proposer soit de cliquer sur continuer et la rien ne s'opère et on retrouve l'erreur 9. Soit je chosit de modifer les liaisons. En cliquant dessus je vois le lien avec mon propre classeur et il est ok. De plus l'invite commande est censé mettre à jour en auto ss rien demander. Je chosi donc fermer et ça ne passe pas, retour à la case départ. Le pb est donc lié a cette mise en jour qui stoppe la procédure.
lsh
salut, je comprendrai que tu en ai marre de m'aider. J'ai parcouru le forum pour connaitre ce pb de mise à jour des liaisons et j'ai également paramétré le classeur pour que la mise se fasse en auto.
Le pb avcec la macro imprimer se situe sur cette ligne Sheets(Arr).Select j'ai essayé en masquatn démasquant les onglet mais rien n'y fait.
Crois tu que je doive mettre un script comme suis à la place? Sub imprimer()
Sheets("Fevrier").Select Application.Run "Tableaudesallotements.xls!ImpTA" End Sub
J'ai testé c passé mais le pb c'est que le classeur en question ne se ferme pas à l'issue et j'ai au moin 10 feuille du classeur maitre qui s'impriment
Je suis a bout j'ai tt essayé
salut, je comprendrai que tu en ai marre de m'aider. J'ai parcouru le forum
pour connaitre ce pb de mise à jour des liaisons et j'ai également paramétré
le classeur pour que la mise se fasse en auto.
Le pb avcec la macro imprimer se situe sur cette ligne Sheets(Arr).Select
j'ai essayé en masquatn démasquant les onglet mais rien n'y fait.
Crois tu que je doive mettre un script comme suis à la place?
Sub imprimer()
Sheets("Fevrier").Select
Application.Run "Tableaudesallotements.xls!ImpTA"
End Sub
J'ai testé c passé mais le pb c'est que le classeur en question ne se ferme
pas à l'issue et j'ai au moin 10 feuille du classeur maitre qui s'impriment
salut, je comprendrai que tu en ai marre de m'aider. J'ai parcouru le forum pour connaitre ce pb de mise à jour des liaisons et j'ai également paramétré le classeur pour que la mise se fasse en auto.
Le pb avcec la macro imprimer se situe sur cette ligne Sheets(Arr).Select j'ai essayé en masquatn démasquant les onglet mais rien n'y fait.
Crois tu que je doive mettre un script comme suis à la place? Sub imprimer()
Sheets("Fevrier").Select Application.Run "Tableaudesallotements.xls!ImpTA" End Sub
J'ai testé c passé mais le pb c'est que le classeur en question ne se ferme pas à l'issue et j'ai au moin 10 feuille du classeur maitre qui s'impriment