Sauvegarder deux feuilles en pdf via une macro
Fermé
jean
-
12 mars 2015 à 16:41
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 13 mars 2015 à 17:50
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 13 mars 2015 à 17:50
A voir également:
- Exporter plusieurs feuilles excel en pdf vba
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Liste déroulante excel - Guide
- Convertir pdf en word excel gratuit - Guide
- Exporter excel en pdf - Guide
- Fusionner plusieurs feuilles excel en une seule - Guide
20 réponses
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
12 mars 2015 à 18:39
12 mars 2015 à 18:39
Bonjour,
Voici le code, il suffit de ce mettre sur la feuille active:
Voici le code, il suffit de ce mettre sur la feuille active:
Sub Enreg_Pdf() Dim Nom As String, LeRep As String Nom = Range("A1").Value ' a adapter LeRep = ThisWorkbook.Path & "\" ' à adapter ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ LeRep & Nom & ".pdf", Quality:= _ xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ From:=1, To:=1, OpenAfterPublish:=False End Sub
Merci beaucoup :)
J'ai tenté d'adapter, mais cela ne fonctionne pas.
Sub Enreg_Pdf()
Dim Nom As String, LeRep As String
Nom = Range("I6").Value ' a adapter
LeRep = ThisWorkbook.Path & "\" & Range("F9") & ".pdf" ' à adapter
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
LeRep & Nom & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False
End Sub
I6 est la cellule contenant le nom de l'onglet à sauvegarder et F9 le nom du fichier par lui même.
Merci pour votre aide. :)
J'ai tenté d'adapter, mais cela ne fonctionne pas.
Sub Enreg_Pdf()
Dim Nom As String, LeRep As String
Nom = Range("I6").Value ' a adapter
LeRep = ThisWorkbook.Path & "\" & Range("F9") & ".pdf" ' à adapter
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
LeRep & Nom & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False
End Sub
I6 est la cellule contenant le nom de l'onglet à sauvegarder et F9 le nom du fichier par lui même.
Merci pour votre aide. :)
Pour une meilleur vision, j'ai fait une copie d'écran de l'erreur.
https://dl.dropboxusercontent.com/u/197385501/2015-03-12_185508.png
:)
https://dl.dropboxusercontent.com/u/197385501/2015-03-12_185508.png
:)
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
12 mars 2015 à 18:57
12 mars 2015 à 18:57
Sub Enreg_Pdf() Dim Nom As String, LeRep As String Nom = Range("I6").Value ' a adapter LeRep = ThisWorkbook.Path & "\" & Range("F9").Value ' à adapter ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ LeRep & Nom & ".pdf", Quality:= _ xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ From:=1, To:=1, OpenAfterPublish:=False End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
12 mars 2015 à 19:12
12 mars 2015 à 19:12
Cela fonctionne très bien chez moi. Ce qu'il faudrait savoir c'est que signifie:
Range("F9").Value
parce que là c'est un nom de fichier qui se met devant le nom du fichier. Si c'est un nom de dossier, il faut que ce dossier existe et le code serait le suivant:
Range("F9").Value
parce que là c'est un nom de fichier qui se met devant le nom du fichier. Si c'est un nom de dossier, il faut que ce dossier existe et le code serait le suivant:
LeRep = ThisWorkbook.Path & "\" & Range("F9").Value & "\"' à adapter
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
12 mars 2015 à 19:15
12 mars 2015 à 19:15
Bonjour a vous deux
'export table onglets
'sauvegarder la feuille active plus une autre feuille du classeur en pdf.
'Cette feuille est nommé dans une cellule I6.
'La sauvegarde devra s'appeler avec le nom de la cellule F9.
'export table onglets
'sauvegarder la feuille active plus une autre feuille du classeur en pdf.
'Cette feuille est nommé dans une cellule I6.
'La sauvegarde devra s'appeler avec le nom de la cellule F9.
Sub Tst() Dim Ar(1) As String Ar(0) = ActiveSheet.Name Ar(1) = Worksheets("feuil1").Range("I6") 'adapter le nom de la feuille idem pour F9 Application.ScreenUpdating = False Sheets(Ar).Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Worksheets("feuil1").Range("F9") & ".pdf" _ , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ :=False, OpenAfterPublish:=False Application.ScreenUpdating = True End Sub
@cs_Le Pivert : F9 représente une variable définie par la fonction maintenant() en F4 et complétée par : =TEXTE(F4;"aaaammjjhhmm")&"-ITA-A"
@f894009 Merci pour ton aide :). Mais mon but est de ne rien mettre en dur au niveau de la sélection ( dans ton aide ("feuil1") ) car j'ai près de 10 feuilles contenant cette macro. D'où l'intérêt de n'avoir qu'une Macro et non 10. ;)
Merci pour votre aide
@f894009 Merci pour ton aide :). Mais mon but est de ne rien mettre en dur au niveau de la sélection ( dans ton aide ("feuil1") ) car j'ai près de 10 feuilles contenant cette macro. D'où l'intérêt de n'avoir qu'une Macro et non 10. ;)
Merci pour votre aide
Bonjour
Faire 2 feuille dans le meme PDF
A+
Maurice
Faire 2 feuille dans le meme PDF
Sub Macro2() Sheets(Array("Feuil3", "Feuil2")).Select Nom = Range("I6").Value ' a adapter LeRep = ThisWorkbook.Path & "\" '& Range("F9").Value ' à adapter ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ LeRep & Nom & ".pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False End Sub
A+
Maurice
Merci Maurice pour ton aide.
Mais là encore, mon problème reste la dénomination en dur des feuilles.
( "feuil3") et ("feuil2") il faudrait que cette valeur soit égale au texte contenu dans des cellules. G6 pour ("feuil3") et ("I6") pour ("feuil2").
Encore merci pour votre aide à tous.
Mais là encore, mon problème reste la dénomination en dur des feuilles.
( "feuil3") et ("feuil2") il faudrait que cette valeur soit égale au texte contenu dans des cellules. G6 pour ("feuil3") et ("I6") pour ("feuil2").
Encore merci pour votre aide à tous.
Bonjour
avec un modele de ton fichier ses plus facile a faire
(Range("I6").value) = ("feuil3") et ("I6")
A+
Maurice
avec un modele de ton fichier ses plus facile a faire
(Range("I6").value) = ("feuil3") et ("I6")
A+
Maurice
Bonjour
Ci-dessous La procédure
Pour transmettre un fichier, il faut passer par un site de pièce jointe tel que cjoint.com
Va sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse
A+
Maurice
Ci-dessous La procédure
Pour transmettre un fichier, il faut passer par un site de pièce jointe tel que cjoint.com
Va sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse
A+
Maurice
Je n'avais pas compris cela dsl.
https://dl.dropboxusercontent.com/u/197385501/jean_help-me-pls.xls
:)
https://dl.dropboxusercontent.com/u/197385501/jean_help-me-pls.xls
:)
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
13 mars 2015 à 07:56
13 mars 2015 à 07:56
car j'ai près de 10 feuilles contenant cette macro
Pour moi feuil1 est la feuille qui contient les infos, d'apres ce que vous ecrivez, rien ne montre dans quelle(s) feuille(s) sont ces infos I6 et F9
je viens de recuperer votre fichier, F9 Ok, mais I6 pas Ok et vos dix feuilles sont ou ????
Pour moi feuil1 est la feuille qui contient les infos, d'apres ce que vous ecrivez, rien ne montre dans quelle(s) feuille(s) sont ces infos I6 et F9
je viens de recuperer votre fichier, F9 Ok, mais I6 pas Ok et vos dix feuilles sont ou ????
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
13 mars 2015 à 08:03
13 mars 2015 à 08:03
Voici le code d'après le classeur:
Je ne vois pas la difficulté. A moins que tu ne saches pas dans quel onglet se trouve les données?
Là c'est une autre approche!
Sub Enreg_Pdf() Dim Nom As String, LeRep As String Sheets("Auto").Select Nom = Range("I6").Value ' a adapter LeRep = ThisWorkbook.Path & "\" & Range("F9").Value ' à adapter ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ LeRep & Nom & ".pdf", Quality:= _ xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ From:=1, To:=1, OpenAfterPublish:=False Sheets("Main").Select End Sub
Je ne vois pas la difficulté. A moins que tu ne saches pas dans quel onglet se trouve les données?
Là c'est une autre approche!
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
Modifié par f894009 le 13/03/2015 à 08:19
Modifié par f894009 le 13/03/2015 à 08:19
Bonjour,
je suis de votre avis sur le cote incertain de l'endroit des donnees a utiliser et surtout au depart, deux feuilles a sauvegarder dans le meme PDF et je suis un des seul a avoir fait un code pour, mais pas de reaction de jean vis a vis des autres propositions a une seule feuille
je suis de votre avis sur le cote incertain de l'endroit des donnees a utiliser et surtout au depart, deux feuilles a sauvegarder dans le meme PDF et je suis un des seul a avoir fait un code pour, mais pas de reaction de jean vis a vis des autres propositions a une seule feuille
Merci pour votre aide à tous :)
Je pense que je n'arrive pas à me faire comprendre et j'en suis désolé, je vais tenter d'être plus clair.
Les données que je dois sauvegarder sont bien identifiées, je sais parfaitement de quels onglets ou feuilles il s'agit. Mais comme vous avez pu le voir dans la structure très allégée de mon classeur, mes documents vont par deux, un document que je renseigne et un autre qui est renseigné automatiquement d'après le premier document.
J'ai cinq documents différents d'ou l'intérêt pour moi d'avoir une macro unique avec des variables.
Mais je pense avoir fait une bourde, je vérifie cela dans l'AM et je vous tiens au courant.
Merci encore à tous.
Je pense que je n'arrive pas à me faire comprendre et j'en suis désolé, je vais tenter d'être plus clair.
Les données que je dois sauvegarder sont bien identifiées, je sais parfaitement de quels onglets ou feuilles il s'agit. Mais comme vous avez pu le voir dans la structure très allégée de mon classeur, mes documents vont par deux, un document que je renseigne et un autre qui est renseigné automatiquement d'après le premier document.
J'ai cinq documents différents d'ou l'intérêt pour moi d'avoir une macro unique avec des variables.
Mais je pense avoir fait une bourde, je vérifie cela dans l'AM et je vous tiens au courant.
Merci encore à tous.
Encore merci à tous, je crains que les doubles variables ne soient pas possibles, je vais donc faire 5 fois la même macro en ne changeant que les feuilles à imprimer.
Encore merci pour le temps passé sur ce problème.
Encore merci pour le temps passé sur ce problème.
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
13 mars 2015 à 17:50
13 mars 2015 à 17:50
Voilà une solution pour éviter de faire 5 fois la même macro:
Pour appeler tu n'auras qu'a changer le nom de l'onglet dans la Sub Save_Pdf
Voilà!
Sub Enregistrer(Nom As String, Onglet As String) Sheets(Onglet).Select LeRep = ThisWorkbook.Path & "\" & Onglet ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ LeRep & Nom & ".pdf", Quality:= _ xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ From:=1, To:=1, OpenAfterPublish:=False Sheets("Main").Select End Sub Sub Save_pdf() Enregistrer Range("I6").Value, "Auto" 'nom et onglet End Sub
Pour appeler tu n'auras qu'a changer le nom de l'onglet dans la Sub Save_Pdf
Voilà!