Macro Boite de dialogue pour chemin d'enregsitrement

Bonjour,

J'ai besoin de vos lumières.

Dans une de mes macro, je souhaite intégrer une boite de dialogue dans laquelle le personne pourra choisir le chemin d'enregistrement, mais le nom du fichier est défini par moi.

Je chercher sur les forum mais je ne trouve pas ce que je veux.

C'est sur Word.

Merci d'avance

Bonjour,

à tester,

Sub ChoixRepertoire()
   Dim objShell As Object, objFolder As Object, oFolderItem As Object
    Dim Chemin As String

    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)

    On Error Resume Next
    Set oFolderItem = objFolder.Items.Item
    Chemin = oFolderItem.Path

    MsgBox Chemin
End Sub

Merci i20100,

Le codage est bon et fonctionne, mais je n'arrive pas à obtenir ce que je veux, je pense que c'est mon enchainement de codage qui n'est pas bien.

Je t'explique ce que je veux que la macro fasse:

1) Exportation ou enregistrement sous PDF de mon Word

2) nom d'enregistrement défini par moi (" texte en dure" + signet repris du formulaire Word + 2ème signet repris du formulaire Word)

3)Choix du chemin d'enregistrement par l'utilisateur via une boite de dialogue

4) Envoi par Outlook sur ma boite mail pro d'un mail avec le pdf en question rattaché

Voilà vous savez tout.

Ci-dessous ma macro, enfin, le champs de bataille

Sub Macro1()

Dim objShell As Object, objFolder As Object, oFolderItem As Object

Dim Chemin As String

Dim NFichier As String

Dim Nom As String

Dim Debut As String

Set objShell = CreateObject("Shell.Application")

Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un r?pertoire", &H1&)

Chemin = oFolderItem.Path

Nom = ActiveDocument.Bookmarks("Nom").Range.Text

Debut = ActiveDocument.Bookmarks("Debut").Range.Text

NFichier = "Demande CP/RTT " & Nom & " " & Debut & ".pdf" 'nom enregistrement ( nom salari? + d?but CP)

ActiveDocument.ExportAsFixedFormat outputFileName:=Chemin & NFichier, _

exportFormat:=wdExportFormatPDF ' enregistrement'

On Error Resume Next

Set oFolderItem = objFolder.Items.Item

MsgBox Chemin

Set OApp = CreateObject("Outlook.Application") ' envoi par mail outlook

Set OMail = OApp.CreateItem(0)

With OMail

.Display

.To = "vxxx@zzzz"

.Subject = "Demande CP/RTT"

.Attachments.Add Chemin & "/" & NFichier

.BodyFormat = olFormatRichText

.Body = "Tu trouveras ma feuille de CP/RTT pour le " & Debut

.Send

End With

End Sub

re,

le caractère / est interdit dans le nom d'un fichier, essayer avec le tiret -

Les caractères suivants sont réservés pour des usages spéciaux et ne doivent pas être utilisés dans le nom d'un fichier, :

< (plus petit que; less than)

> (plus grand que; greater than)

: (deux points; colon)

" (double appostrophe; double quote)

/ (slash; barre de fraction; forward slash)

(antislash; backslash)

| (barre verticale; vertical bar; pipe)

? (point d'interrogation; question mark)

* (astérisque; asterisk)

Merci pour l'info, mais cela ne fonctionnement pas, je pense que c'est la compilation qui n'est pas forcément juste bonne.

J'ai rajouter un "With" suite à un message d'erreur, mais ce n'est toujours pas ça.

Sub Macro1()

Dim objShell As Object, objFolder As Object, oFolderItem As Object

Dim Chemin As String

Dim NFichier As String

Dim Nom As String

Dim Debut As String

Set objShell = CreateObject("Shell.Application")

Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un r?pertoire d'enregistrement pour archivage personnel", &H1&)

With objFolder

Chemin = oFolderItem.Path

Nom = ActiveDocument.Bookmarks("Nom").Range.Text

Debut = ActiveDocument.Bookmarks("Debut").Range.Text

NFichier = "Demande CP-RTT " & Nom & " " & Debut & ".pdf" 'nom enregistrement ( nom salari? + d?but CP)

ActiveDocument.ExportAsFixedFormat outputFileName:=Chemin & NFichier, _

exportFormat:=wdExportFormatPDF ' enregistrement'

On Error Resume Next

Set oFolderItem = objFolder.Items.Item

MsgBox Chemin

End With

Set OApp = CreateObject("Outlook.Application") ' envoi par mail outlook

Set OMail = OApp.CreateItem(0)

With OMail

.Display

.To = "vwagentrutz@capitalgrandest.eu"

.Subject = "Demande CP/RTT"

.Attachments.Add Chemin & "/" & NFichier

.BodyFormat = olFormatRichText

.Body = "Tu trouveras ma feuille de CP/RTT pour le " & Debut

.Send

End With

End Sub

re,

à tester,

Sub Macro1()
Dim objShell As Object, objFolder As Object, oFolderItem As Object
Dim Chemin As String
Dim NFichier As String
Dim Nom As String
Dim Debut As String

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)

On Error Resume Next
Set oFolderItem = objFolder.Items.Item
Chemin = oFolderItem.Path

Nom = ActiveDocument.Bookmarks("Nom").Range.Text
Debut = ActiveDocument.Bookmarks("Debut").Range.Text
NFichier = "Demande CP-RTT " & Nom & " " & Debut & ".pdf" 'nom enregistrement ( nom salari? + d?but CP)

ActiveDocument.ExportAsFixedFormat outputFileName:=Chemin & "/" & NFichier, _
exportFormat:=wdExportFormatPDF ' enregistrement'

Set OApp = CreateObject("Outlook.Application") ' envoi par mail outlook
Set OMail = OApp.CreateItem(0)

With OMail

.Display
.To = "vwagentrutz@capitalgrandest.eu"
.Subject = "Demande CP/RTT"
.Attachments.Add Chemin & "/" & NFichier
.BodyFormat = olFormatRichText
.Body = "Tu trouveras ma feuille de CP/RTT pour le " & Debut
.Send
End With
End Sub

La macro s'exécute, mais le fichier Word n'est pas exporter en pdf, ni enregistrer selon le chemin demandé et donc pas rattaché dans le mail.

Je te joins le fichier, au cas où?

9conges.docm (263.75 Ko)

re,

remplace la ligne

Debut = ActiveDocument.Bookmarks("Debut").Range.Text

par

Debut = Replace(ActiveDocument.Bookmarks("Debut").Range.Text, "/", "-")

UN GRAND MERCI

@ i20100, j'ai encore besoin de ton aide

Après des semaines de travail sur 2 macros, elles sont enfin prêtes à mettre en production.

Trop contente, c'est mes 1ères et elles fonctionnent depuis mon PC.

Je la diffuse à mes collègues, et c'est le drame, ça ne fonctionnent pas chez eux .

1-J'ai créé le bouton de la macro dans la barre d'outil --> elle n'est pas visible chez eux, alors que chez moi, je les vois bien. Pourquoi?

2- Lorsqu'ils lancent une des macros, il y a un message d'erreur que je n'ai pas chez moi.

La macro s'exécute parfaitement chez moi, mais rien ne ce fait chez eux et il y a ce message d'erreur qui me dit qu'il y a une problème de format dans le code ci-dessous:

--> NFichier = "Feuille pr?sence " & ActiveSheet.Name & Format(Now, " yyyy ") & Range(" B15").Value & ".pdf"

Et plus particulièrement à -->Format(Now, " yyyy ")

Je l'ai supprimé (pas vraiment utile), mais ça ne fonctionne toujours pas, alors que chez moi si.

Lors de la création des macro, j'ai dû m'ouvrir des accès que les autres n'ont pas, mais à part le "Développeur", je ne vois pas quoi. Après j'ai tellement trifouillé, que je ne sais plus.

HELP!

Merci d'avance

Bonjour Virginie,

il n'y a pas de macro dans le fichier que tu as joint

re,

j'ai activé toutes les macros et cocher "accès approuvé au modèle d'objet du projet VBA"

macro word

Cela ne fonctionne toujours pas chez mon collègue.

Il a activé l'onglet "Développeur", fait les modifs que tu as dit, mais toujours rien.

C'est comme si je n'avais pas affecté de macro à mon fichier Word, alors que chez moi ça fonctionne et visiblement chez toi aussi.

J'ai mis le bouton d'exécution de la macro dans le ruban et il n'est pas visible sur les autre PC, uniquement chez moi, pourquoi?

Est-ce que c'est parce que c'est un modèle Word en format formulaire.

Je suis vraiment perdue

J'ai mis le bouton d'exécution de la macro dans le ruban et il n'est pas visible sur les autre PC, uniquement chez moi, pourquoi?

pour le partager

https://support.office.com/fr-fr/article/personnaliser-le-ruban-dans-office-00f24ca7-6021-48d3-9514-a31a460ecb31

Partager un ruban personnalisé avec un autre utilisateur ou un autre ordinateur

Vous pouvez partager votre ruban et les personnalisations de barre d’outils Accès rapide dans un fichier qui peut être importé et utilisé par un collègue ou sur un autre ordinateur.

Étape 1 : exporter votre ruban personnalisé:

Dans la fenêtre Personnaliser le ruban, cliquez sur Importer/Exporter.

Cliquez sur Exporter toutes les personnalisations.

Rechercher des sujets similaires à "macro boite dialogue chemin enregsitrement"