Créer bouton AActive X macro Enregistrer sous une feuillet de mon classeur.
Fermé
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
-
7 sept. 2021 à 16:00
Grosnoob31 Messages postés 51 Date d'inscription samedi 25 mai 2019 Statut Membre Dernière intervention 26 avril 2023 - 4 janv. 2022 à 00:16
Grosnoob31 Messages postés 51 Date d'inscription samedi 25 mai 2019 Statut Membre Dernière intervention 26 avril 2023 - 4 janv. 2022 à 00:16
A voir également:
- Créer un bouton enregistrer sous excel
- Créer un compte google - Guide
- Créer un compte gmail - Guide
- Comment créer un groupe whatsapp - Guide
- Créer liste déroulante excel - Guide
- Créer un compte instagram sur google - Guide
18 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
8 sept. 2021 à 11:24
8 sept. 2021 à 11:24
Bonjour,
comme ceci:
comme ceci:
Option Explicit Sub Save() Dim nom As String nom = Range("B69") ActiveSheet.Copy Application.Dialogs(xlDialogSaveAs).Show nom ActiveWorkbook.Close End Sub
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 452
7 sept. 2021 à 21:42
7 sept. 2021 à 21:42
Bonjour,
Vous avez donc un classeur avec combien de feuilles ?
Qu'elles feuilles voulez-vous enregistrer et ou se trouve le classeur contenant les enregistrements?
Vous avez donc un classeur avec combien de feuilles ?
Qu'elles feuilles voulez-vous enregistrer et ou se trouve le classeur contenant les enregistrements?
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
8 sept. 2021 à 01:02
8 sept. 2021 à 01:02
Bonjour
J ai donc 4 feuilles.
1 avec l éditeur, 1 avec le contrat, 1 avec la facture et 1 avec le devis.
Sur la feuille de l'éditeur, je veux place 3 boutons.
1 qui me permet "d'enregistrer sous" au format excel le contrat
1 qui me permet "d'enregistrer sous" au format excel la facture
1 qui me permet "d'enregistrer sous" au format excel le devis
Je ne veux pas enregistrer les 3 en même temps.
Je veux qu'une boite de dialogue s'ouvre et me laisse le choix de l'emplacement sur mon disque dur.
Et aussi je veux que le fichier excel enregistré prennent le nom mentionné dans une cellule.
Je sais pas si j ai répondu à vos questions.
En tout cas merci de l intérêt que vous portez à mon problème.
J ai donc 4 feuilles.
1 avec l éditeur, 1 avec le contrat, 1 avec la facture et 1 avec le devis.
Sur la feuille de l'éditeur, je veux place 3 boutons.
1 qui me permet "d'enregistrer sous" au format excel le contrat
1 qui me permet "d'enregistrer sous" au format excel la facture
1 qui me permet "d'enregistrer sous" au format excel le devis
Je ne veux pas enregistrer les 3 en même temps.
Je veux qu'une boite de dialogue s'ouvre et me laisse le choix de l'emplacement sur mon disque dur.
Et aussi je veux que le fichier excel enregistré prennent le nom mentionné dans une cellule.
Je sais pas si j ai répondu à vos questions.
En tout cas merci de l intérêt que vous portez à mon problème.
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
Modifié le 8 sept. 2021 à 01:41
Modifié le 8 sept. 2021 à 01:41
Peut être en complément pour mieux comprendre mon probleme :
Voici le code que j ai rentré et qui fonctionne à merveille. Il me permet d''imprimer directement mon feuillet (ici mon feuillet "contrat") en PDF.
Private Sub CommandButton1_Click()
Sheets("CONTRAT").Select
Dim nom As String
nom = Range("B69")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nom _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub
Je souhaiterais le même code mais qui ouvre une boite de dialogue me permettant d'enregistrer au format d'Excel.
Voici le code que j ai rentré et qui fonctionne à merveille. Il me permet d''imprimer directement mon feuillet (ici mon feuillet "contrat") en PDF.
Private Sub CommandButton1_Click()
Sheets("CONTRAT").Select
Dim nom As String
nom = Range("B69")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nom _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub
Je souhaiterais le même code mais qui ouvre une boite de dialogue me permettant d'enregistrer au format d'Excel.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
8 sept. 2021 à 14:34
8 sept. 2021 à 14:34
Bonjour
Et merci Le Pivert
Le code fonctionne et c'est ce que je recherche à quelques détails près.
- Il se lance bien quand je le teste (F5) mais pas quand j'appuie sur le bouton.
- Il me propose de sauvegarder le feuillet principal alors que je voudrais enregistrer les trois autres feuillets à partir du premier. (1 bouton pour feuillet 2, 1 bouton pour feuillet 3 et 1 bouton pour feuillet 4)
- Je voudrais enregistrer au format Excel (prenant en charge les macro)
- Enfin le feuillet qu'on me propose d enregistrer, une fois enregistré s'ouvre en plus de mon classeur alors que je ne voudrait pas l'ouvrir.
En tout cas merci.
Si vous avez la solution pour compléter le code, je suis preneur.
Et merci Le Pivert
Le code fonctionne et c'est ce que je recherche à quelques détails près.
- Il se lance bien quand je le teste (F5) mais pas quand j'appuie sur le bouton.
- Il me propose de sauvegarder le feuillet principal alors que je voudrais enregistrer les trois autres feuillets à partir du premier. (1 bouton pour feuillet 2, 1 bouton pour feuillet 3 et 1 bouton pour feuillet 4)
- Je voudrais enregistrer au format Excel (prenant en charge les macro)
- Enfin le feuillet qu'on me propose d enregistrer, une fois enregistré s'ouvre en plus de mon classeur alors que je ne voudrait pas l'ouvrir.
En tout cas merci.
Si vous avez la solution pour compléter le code, je suis preneur.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
8 sept. 2021 à 15:05
8 sept. 2021 à 15:05
Il me propose de sauvegarder le feuillet principal
mettre cela au debut de ta macro
Je voudrais enregistrer au format Excel (prenant en charge les macro)
en bas de la boite de dialogue il y a un menu déroulant avec le choix de l'enregistrement
Enfin le feuillet qu'on me propose d enregistrer, une fois enregistré s'ouvre en plus de mon classeur alors que je ne voudrait pas l'ouvrir.
c'est dans ce code
ActiveWorkbook.Close
sinon fermer manuellement
@+
mettre cela au debut de ta macro
Sheets("CONTRAT").Select 'adapter nom de la feuille
Je voudrais enregistrer au format Excel (prenant en charge les macro)
en bas de la boite de dialogue il y a un menu déroulant avec le choix de l'enregistrement
Enfin le feuillet qu'on me propose d enregistrer, une fois enregistré s'ouvre en plus de mon classeur alors que je ne voudrait pas l'ouvrir.
c'est dans ce code
ActiveWorkbook.Close
sinon fermer manuellement
@+
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
>
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
8 sept. 2021 à 15:22
8 sept. 2021 à 15:22
Super ! merci
Par contre la macro n'est pas lancée par le bouton.
Je pensais qu'il était possible de lui attribuer un .xlsm dans la macro
Si vous avez une idée...
Par contre la macro n'est pas lancée par le bouton.
Je pensais qu'il était possible de lui attribuer un .xlsm dans la macro
Si vous avez une idée...
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
>
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
Modifié le 8 sept. 2021 à 15:46
Modifié le 8 sept. 2021 à 15:46
Par contre la macro n'est pas lancée par le bouton.
rien ne t'empêche de la mettre dans un bouton
rien ne t'empêche de la mettre dans un bouton
Private Sub CommandButton2_Click() Dim nom As String Sheets("CONTRAT").Select 'adapter nom de la feuille nom = Range("B69") ActiveSheet.Copy Application.Dialogs(xlDialogSaveAs).Show nom ActiveWorkbook.Close End Sub
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
>
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
8 sept. 2021 à 16:11
8 sept. 2021 à 16:11
Merci !
Un autre petit détail, je sais pas si c'est possible.
Comme prévu, je lance la boite de dialogue depuis mon feuillet 1 (l'éditeur) mais si j'enregistre par exemple ma facture lorsque j'ai fini ma sauvegarde, je me retrouve dans mon classeur sur le feuillet facture à l'écran alors que je souhaiterais rester sur le feuillet 1 (Editeur)
Tu crois que c'est possible de faire ça ?
En tout cas merci car c'est déjà génial.
Un autre petit détail, je sais pas si c'est possible.
Comme prévu, je lance la boite de dialogue depuis mon feuillet 1 (l'éditeur) mais si j'enregistre par exemple ma facture lorsque j'ai fini ma sauvegarde, je me retrouve dans mon classeur sur le feuillet facture à l'écran alors que je souhaiterais rester sur le feuillet 1 (Editeur)
Tu crois que c'est possible de faire ça ?
En tout cas merci car c'est déjà génial.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
>
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
8 sept. 2021 à 16:15
8 sept. 2021 à 16:15
a la fin de ta macro tu mets ceci:
Voilà c'est simple!
@+
Private Sub CommandButton2_Click() Dim nom As String Sheets("CONTRAT").Select 'adapter nom de la feuille nom = Range("B69") ActiveSheet.Copy Application.Dialogs(xlDialogSaveAs).Show nom ActiveWorkbook.Close Sheets("Editeur").Select End Sub
Voilà c'est simple!
@+
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 452
Modifié le 8 sept. 2021 à 15:17
Modifié le 8 sept. 2021 à 15:17
Bonjour,
Alors c'est quoi qui ne convient pas avec la proposition de Le Pivert (salutations)...!
Vous dite : Je ne veux pas enregistrer les 3 en même temps.
Donc chaque feuille et enregistrée séparément...
La première est dans un classeur... que faites- vous pour la deuxième respectivement la troisième…. Vont-elles dans le même classeur que la première ou faut-il chaque fois un nouveau classeur ?
Alors c'est quoi qui ne convient pas avec la proposition de Le Pivert (salutations)...!
Vous dite : Je ne veux pas enregistrer les 3 en même temps.
Donc chaque feuille et enregistrée séparément...
La première est dans un classeur... que faites- vous pour la deuxième respectivement la troisième…. Vont-elles dans le même classeur que la première ou faut-il chaque fois un nouveau classeur ?
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
8 sept. 2021 à 15:39
8 sept. 2021 à 15:39
En fait j'ai mon fichier excel que j'ai nommé "Editeur"
Ce fichier est donc un classeur avec 4 feuillets.
Le premier, je ne veut pas y toucher, il reste dans le classeur de base puisque c'est mon editeur qui me pemet d éditer les factures, contrats et devis.
Je veux juste sauvegarder les feuillets contrats, factures et devis dans des dossiers différents sur mon disque dur.
Par exemple un dossier "factures", un dossier "contrats" et un dossier "devis".
(je ne veux pas nommer la destination de l enregistrement dans la macro car je veux que chaque utilisateur puisse l'enregistrer où il veut)
Du coup,je voudrais que dans ces dossiers ne se trouvent que des classeurs avec un seul feuillet
Par exemple dans le dossier "factures" que les factures au format excel.
Donc si je comprends bien votre question ". Vont-elles dans le même classeur que la première ou faut-il chaque fois un nouveau classeur ? "
Oui, il faut un nouveau classeur à chaque fois.
Je ne sais pas si je clair
Ce fichier est donc un classeur avec 4 feuillets.
Le premier, je ne veut pas y toucher, il reste dans le classeur de base puisque c'est mon editeur qui me pemet d éditer les factures, contrats et devis.
Je veux juste sauvegarder les feuillets contrats, factures et devis dans des dossiers différents sur mon disque dur.
Par exemple un dossier "factures", un dossier "contrats" et un dossier "devis".
(je ne veux pas nommer la destination de l enregistrement dans la macro car je veux que chaque utilisateur puisse l'enregistrer où il veut)
Du coup,je voudrais que dans ces dossiers ne se trouvent que des classeurs avec un seul feuillet
Par exemple dans le dossier "factures" que les factures au format excel.
Donc si je comprends bien votre question ". Vont-elles dans le même classeur que la première ou faut-il chaque fois un nouveau classeur ? "
Oui, il faut un nouveau classeur à chaque fois.
Je ne sais pas si je clair
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
8 sept. 2021 à 15:06
8 sept. 2021 à 15:06
Ce qui ne fonctionne pas, c'est ce que j'ai décris dans mon précédent message.
- Il se lance bien quand je le teste (F5) mais pas quand j'appuie sur le bouton.
- Il me propose de sauvegarder le feuillet principal alors que je voudrais enregistrer les trois autres feuillets à partir du premier. (1 bouton pour feuillet 2, 1 bouton pour feuillet 3 et 1 bouton pour feuillet 4)
- Je voudrais enregistrer au format Excel (prenant en charge les macro) alors qu'il me propose de l'enregistrer au formet classique
- Enfin le feuillet qu'on me propose d enregistrer, une fois enregistré s'ouvre en plus de mon classeur alors que je ne voudrait pas l'ouvrir.
- Il se lance bien quand je le teste (F5) mais pas quand j'appuie sur le bouton.
- Il me propose de sauvegarder le feuillet principal alors que je voudrais enregistrer les trois autres feuillets à partir du premier. (1 bouton pour feuillet 2, 1 bouton pour feuillet 3 et 1 bouton pour feuillet 4)
- Je voudrais enregistrer au format Excel (prenant en charge les macro) alors qu'il me propose de l'enregistrer au formet classique
- Enfin le feuillet qu'on me propose d enregistrer, une fois enregistré s'ouvre en plus de mon classeur alors que je ne voudrait pas l'ouvrir.
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 452
8 sept. 2021 à 16:08
8 sept. 2021 à 16:08
Bonjour,
Eh bien voici un exemple: https://www.cjoint.com/c/KIiogIRHwmn
Eh bien voici un exemple: https://www.cjoint.com/c/KIiogIRHwmn
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
8 sept. 2021 à 16:37
8 sept. 2021 à 16:37
Oui c'est bien ça merci.
Par contre pour un résultat similaire deux codes complétement différents.
Quelle est la différence avec le code de Pivert ?
Par contre pour un résultat similaire deux codes complétement différents.
Quelle est la différence avec le code de Pivert ?
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 452
8 sept. 2021 à 16:45
8 sept. 2021 à 16:45
Bonjour,
C'est une autre manière de faire, en l'occurrence je reprends le premier code de Le Pivert , légèrement modifier(salutations) et je lui ajoute un argument (pour nom de la feuille) et vous avez les 3 codes de départ pour chacun des boutons
C'est une autre manière de faire, en l'occurrence je reprends le premier code de Le Pivert , légèrement modifier(salutations) et je lui ajoute un argument (pour nom de la feuille) et vous avez les 3 codes de départ pour chacun des boutons
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
8 sept. 2021 à 22:52
8 sept. 2021 à 22:52
ok
merci, je commence a y voir plus clair mais bon je débute, la route est encore longue.
merci, je commence a y voir plus clair mais bon je débute, la route est encore longue.
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
4 oct. 2021 à 12:02
4 oct. 2021 à 12:02
Salut
Je reviens vers vous car je souhaiterais créer un bouton pour enregistrer non pas un feuillet spécifique mais l'ensemble de mon classeur au format excel avec les macro.
J'ai ce code pour enregistrer uniquement le feuillet "CONTRAT"
J'imagine qu'il faut changer "CONTRAT" pour mentionner que je veux que cela s'applique non pas au feuillet contrat mais à l'ensemble du classeur.
Une idée ?
Je reviens vers vous car je souhaiterais créer un bouton pour enregistrer non pas un feuillet spécifique mais l'ensemble de mon classeur au format excel avec les macro.
J'ai ce code pour enregistrer uniquement le feuillet "CONTRAT"
Private Sub CommandButton2_Click()
Dim nom As String
Sheets("CONTRAT").Select
nom = Range("B26")
ActiveSheet.Copy
Application.Dialogs(xlDialogSaveAs).Show nom, 52 '
ActiveWorkbook.Close
Sheets("EDITEUR").Select
End Sub
J'imagine qu'il faut changer "CONTRAT" pour mentionner que je veux que cela s'applique non pas au feuillet contrat mais à l'ensemble du classeur.
Une idée ?
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
4 oct. 2021 à 12:52
4 oct. 2021 à 12:52
Tu trouveras la réponse à ta question ici:
https://excel.developpez.com/faq/?page=Sauvegardes
@+ Le Pivert
https://excel.developpez.com/faq/?page=Sauvegardes
@+ Le Pivert
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
4 oct. 2021 à 16:26
4 oct. 2021 à 16:26
Bonjour et merci pour ta réponse.
En effet, j'avais vu cette faq mais ça ne fonctionne pas chez moi. Je ne comprends pas vraiment pourquoi.
C'est pour ça que je me demandais si ce n'étais pas possible d'adapter les codes que tu m'avais conseillés.
En effet, j'avais vu cette faq mais ça ne fonctionne pas chez moi. Je ne comprends pas vraiment pourquoi.
C'est pour ça que je me demandais si ce n'étais pas possible d'adapter les codes que tu m'avais conseillés.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
4 oct. 2021 à 18:12
4 oct. 2021 à 18:12
C'est tout simple:
voilà
@+ Le Pivert
Private Sub CommandButton2_Click() Dim nom As String nom = Range("B26") Application.Dialogs(xlDialogSaveAs).Show nom, 52 ' End Sub
voilà
@+ Le Pivert
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
4 oct. 2021 à 23:41
4 oct. 2021 à 23:41
Merci !
C'est parfait
C'est parfait
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
23 déc. 2021 à 15:38
23 déc. 2021 à 15:38
Bonjour tout le monde,
J'ai un petit souci avec le code pour enregistrer mon feuillet en PDF.
Le code fourni ici même par cs_Le Pivert marche parfaitement (encore merci). Je clique et le document apparait en PDF.
Le problème est que lorsque je fais "enregistrer sous" il enregistre le documents dans le premier dossier qui s'ouvre. Par exemple "mes documents". Or mon problème et que je voudrais choisir un autre dossier. Du coup il m'arrive ne me retrouver avec des fichiers enregistrés à des endroits improbables.
Je ne peux pas spécifier le dossier cible dans le code car ce fichier excel est utilisé par d autres personnes qui n'ont pas le même système de classement sur leur ordi.
Ce qui m'étonne c'est que j'ai pas l'impression qu'il y ait une commande "save as" dans le code fourni. Mais je ne m'y connais vraiment pas.
Si quelqu'un a une idée, je suis preneur.
Bonnes fêtes à tous !
Le code en question ci dessous :
J'ai un petit souci avec le code pour enregistrer mon feuillet en PDF.
Le code fourni ici même par cs_Le Pivert marche parfaitement (encore merci). Je clique et le document apparait en PDF.
Le problème est que lorsque je fais "enregistrer sous" il enregistre le documents dans le premier dossier qui s'ouvre. Par exemple "mes documents". Or mon problème et que je voudrais choisir un autre dossier. Du coup il m'arrive ne me retrouver avec des fichiers enregistrés à des endroits improbables.
Je ne peux pas spécifier le dossier cible dans le code car ce fichier excel est utilisé par d autres personnes qui n'ont pas le même système de classement sur leur ordi.
Ce qui m'étonne c'est que j'ai pas l'impression qu'il y ait une commande "save as" dans le code fourni. Mais je ne m'y connais vraiment pas.
Si quelqu'un a une idée, je suis preneur.
Bonnes fêtes à tous !
Le code en question ci dessous :
Private Sub CommandButton10_Click()
Sheets("SOLDE").Select
Dim nom As String
nom = Range("F109")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nom _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Sheets("EDITEUR").Select
End Sub
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
23 déc. 2021 à 16:36
23 déc. 2021 à 16:36
Bonjour,
je t'ai donné la solution ici:
https://forums.commentcamarche.net/forum/affich-37338846-creer-bouton-aactive-x-macro-enregistrer-sous-une-feuillet-de-mon-classeur#28
voilà
@+ Le Pivert
je t'ai donné la solution ici:
https://forums.commentcamarche.net/forum/affich-37338846-creer-bouton-aactive-x-macro-enregistrer-sous-une-feuillet-de-mon-classeur#28
Sheets("SOLDE").Select Dim nom As String nom = Range("F109") Application.Dialogs(xlDialogSaveAs).Show nom, 57 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nom _ , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ :=False, OpenAfterPublish:=True Sheets("EDITEUR").Select
voilà
@+ Le Pivert
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
3 janv. 2022 à 12:06
3 janv. 2022 à 12:06
Bonjour,
Merci pour ta réponse.
Désolé pour mon temps de réaction mais j essayais de trouver la solution par moi même. Mais bon, je n'y arrive pas.
En fait la commande dont tu fais référence correspond à l'enregistrement du ficher excel.
En fait mon souci vient du fait que lorsque je clique sur le bouton pour enregistrer mon document au format pdf :
le document s'affiche en pdf ( jusque là pas de problème)
Mais lorsque je fais "fichier" puis "enregistrer sous" le document s'enregistre directement dans le premier dossier proposé sans que je valide.
Exemple :
"Fichier" --> "enregistrer sous" la fenêtre de l'explorateur windows s'ouvre et par défaut il me propose de l'enregistrer sous le bureau. Avant même que je valide le document se retrouve enregistré sur le bureau.
Or, je souhaiterais l'enregistrer par exemple dans "mes documents". Du coup, je vais l'enregistrer dans "mes documents". Il s'enregistre bien dans "mes documents" mais il se retrouve également enregistré sur "le bureau"
Du coup, je me retrouve avec des fichiers enregistrés un peu partout.
Peut être que le problème vient de la mention "save as" dans la commande ci dessus.
Peut être qu'il faut une commande qui affiche juste le pdf et moi par la suite je vais l'enregistrer manuellement.
A bientôt
Merci pour ta réponse.
Désolé pour mon temps de réaction mais j essayais de trouver la solution par moi même. Mais bon, je n'y arrive pas.
En fait la commande dont tu fais référence correspond à l'enregistrement du ficher excel.
En fait mon souci vient du fait que lorsque je clique sur le bouton pour enregistrer mon document au format pdf :
le document s'affiche en pdf ( jusque là pas de problème)
Mais lorsque je fais "fichier" puis "enregistrer sous" le document s'enregistre directement dans le premier dossier proposé sans que je valide.
Exemple :
"Fichier" --> "enregistrer sous" la fenêtre de l'explorateur windows s'ouvre et par défaut il me propose de l'enregistrer sous le bureau. Avant même que je valide le document se retrouve enregistré sur le bureau.
Or, je souhaiterais l'enregistrer par exemple dans "mes documents". Du coup, je vais l'enregistrer dans "mes documents". Il s'enregistre bien dans "mes documents" mais il se retrouve également enregistré sur "le bureau"
Du coup, je me retrouve avec des fichiers enregistrés un peu partout.
Peut être que le problème vient de la mention "save as" dans la commande ci dessus.
Peut être qu'il faut une commande qui affiche juste le pdf et moi par la suite je vais l'enregistrer manuellement.
A bientôt
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
3 janv. 2022 à 14:12
3 janv. 2022 à 14:12
Bonjour,
Voir si il n' y a pas une macro dans ThisWorkbook qui se déclenche lors de l'enregistrement?
Bonne Année
@+ Le Pivert
Voir si il n' y a pas une macro dans ThisWorkbook qui se déclenche lors de l'enregistrement?
Bonne Année
@+ Le Pivert
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
3 janv. 2022 à 14:51
3 janv. 2022 à 14:51
Re,
J ai regardé et non, il n' y a pas de macro dans ThisWorkbook.
Bonne année et meilleurs vœux également
J ai regardé et non, il n' y a pas de macro dans ThisWorkbook.
Bonne année et meilleurs vœux également
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
3 janv. 2022 à 15:10
3 janv. 2022 à 15:10
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
3 janv. 2022 à 16:55
3 janv. 2022 à 16:55
Re,
Ça ne correspond pas vraiment à mon problème car cette article montre comment créer un chemin par défaut pour enregistrer dans un dossier spécifique.
Or, comme l'outil que je suis en train de créer va être collaboratif, mes collègues ne vont pas tous sauvegarder les fichiers dans le même dossier.
C'est pourquoi je voulais que chacun puisse choisir le dossier dans le lequel il veut sauvegarder.
En fait, d'après ce que j'ai pu comprendre et que je viens de réaliser..
En appliquant ce code :
La fenêtre (boite de dialogue) "enregistrer sous" s'ouvre sans prévisualisation du PDF et là pour le coup pas d'enregistrement automatique c'est bien moi qui choisis l'emplacement. Une fois que je valide ouverture du PDF.
Seul soucis (mais pas très grave), je ne peux pas visualiser le PDF avant enregistrement.
En appliquant le code suivant :
Le PDF s'affiche à l'écran mais en fait, il s'est déjà enregistré tout seul et il passe outre la commande "Application.Dialogs(xlDialogSaveAs).Show nom, 57" puisque qu'on ne lui demande pas contrairement au code du dessus. Du coup, la boîte de dialogue ne s'ouvre pas. Il zappe cette étape et affiche directement le PDF. En fait dans mes autres post, quand je disait qu'il s'enregistrait tout seul quand je fais "enregistrer sous" c'est faux. C'est juste qu'il s'est déjà enregistré et que le pdf s est ouvert.
Le Pivert, je pense que c'était évident pour toi mais ça ne l'était pas du tout pour moi. D'où mon incompréhension totale.
En fait, je pense que ce qu'il me faut pour prévisualiser le pdf avant d'enregistrer c'est un code qui permet de d'imprimer le feuillet en PDF (sans commande de sauvegarde) pour que je puisse, une fois le pdf crée faire moi même la manip "enregistrer sous"...
Le Pivert ne t'arrache pas les cheveux (ou les plumes).
Ça ne correspond pas vraiment à mon problème car cette article montre comment créer un chemin par défaut pour enregistrer dans un dossier spécifique.
Or, comme l'outil que je suis en train de créer va être collaboratif, mes collègues ne vont pas tous sauvegarder les fichiers dans le même dossier.
C'est pourquoi je voulais que chacun puisse choisir le dossier dans le lequel il veut sauvegarder.
En fait, d'après ce que j'ai pu comprendre et que je viens de réaliser..
En appliquant ce code :
Private Sub CommandButton14_Click()
Sheets("SOLDE").Select
Dim nom As String
nom = Range("F109")
Application.Dialogs(xlDialogSaveAs).Show nom, 57
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nom _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Sheets("EDITEUR").Select
End Sub
La fenêtre (boite de dialogue) "enregistrer sous" s'ouvre sans prévisualisation du PDF et là pour le coup pas d'enregistrement automatique c'est bien moi qui choisis l'emplacement. Une fois que je valide ouverture du PDF.
Seul soucis (mais pas très grave), je ne peux pas visualiser le PDF avant enregistrement.
En appliquant le code suivant :
Private Sub CommandButton10_Click()
Sheets("SOLDE").Select
Dim nom As String
nom = Range("F109")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nom _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Sheets("EDITEUR").Select
End Sub
Le PDF s'affiche à l'écran mais en fait, il s'est déjà enregistré tout seul et il passe outre la commande "Application.Dialogs(xlDialogSaveAs).Show nom, 57" puisque qu'on ne lui demande pas contrairement au code du dessus. Du coup, la boîte de dialogue ne s'ouvre pas. Il zappe cette étape et affiche directement le PDF. En fait dans mes autres post, quand je disait qu'il s'enregistrait tout seul quand je fais "enregistrer sous" c'est faux. C'est juste qu'il s'est déjà enregistré et que le pdf s est ouvert.
Le Pivert, je pense que c'était évident pour toi mais ça ne l'était pas du tout pour moi. D'où mon incompréhension totale.
En fait, je pense que ce qu'il me faut pour prévisualiser le pdf avant d'enregistrer c'est un code qui permet de d'imprimer le feuillet en PDF (sans commande de sauvegarde) pour que je puisse, une fois le pdf crée faire moi même la manip "enregistrer sous"...
Le Pivert ne t'arrache pas les cheveux (ou les plumes).
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
3 janv. 2022 à 18:15
3 janv. 2022 à 18:15
Avec ce code tu enregistres et le PDF s'ouvre ensuite:
@+ Le Pivert avec toute ses plumes
Option Explicit Sub save() Dim nom As String nom = Range("F109") Application.Dialogs(xlDialogSaveAs).Show nom, 57 End Sub
@+ Le Pivert avec toute ses plumes
Grosnoob31
Messages postés
51
Date d'inscription
samedi 25 mai 2019
Statut
Membre
Dernière intervention
26 avril 2023
4 janv. 2022 à 00:16
4 janv. 2022 à 00:16
Encore merci Le Pivert
Cela ne fonctionne pas chez moi.
Par contre c'est déjà le cas avec ce code.
La boite de dialogue s'ouvre, je choisis mon emplacement et une fois validé, le PDF s'ouvre.
J'aurais voulu que le PDF s'affiche, histoire de voir si tout est ok et après vérification faire l'enregistrement moi même (Fichier / enregistrer sous...). En gros retirer toutes commandes de sauvegarde du code.
Mais bon avec le code ci dessus c'est déjà super au moins je peux choisir l'emplacement.
Cela ne fonctionne pas chez moi.
Par contre c'est déjà le cas avec ce code.
La boite de dialogue s'ouvre, je choisis mon emplacement et une fois validé, le PDF s'ouvre.
Private Sub CommandButton14_Click()
Sheets("SOLDE").Select
Dim nom As String
nom = Range("F109")
Application.Dialogs(xlDialogSaveAs).Show nom, 57
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nom _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Sheets("EDITEUR").Select
End Sub
J'aurais voulu que le PDF s'affiche, histoire de voir si tout est ok et après vérification faire l'enregistrement moi même (Fichier / enregistrer sous...). En gros retirer toutes commandes de sauvegarde du code.
Mais bon avec le code ci dessus c'est déjà super au moins je peux choisir l'emplacement.