Ouverture d'un dossier spécifique depuis un document word en vba
Résolu/Fermé
A voir également:
- Ouverture d'un dossier spécifique depuis un document word en vba
- Signer un document word - Guide
- Faire un organigramme sur word - Guide
- Comment supprimer une page dans un document word - Guide
- Mettre un mot de passe sur un dossier - Guide
- Comment reduire la taille d'un document - Guide
5 réponses
jordane45
Messages postés
38459
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 avril 2025
4 740
4 juin 2020 à 09:37
4 juin 2020 à 09:37
Bonjour,
Pour word, il me semble que tu peux faire un truc du genre avant d'ouvrir la fenêtre
https://docs.microsoft.com/fr-fr/office/vba/api/word.options.defaultfilepath
Pour word, il me semble que tu peux faire un truc du genre avant d'ouvrir la fenêtre
https://docs.microsoft.com/fr-fr/office/vba/api/word.options.defaultfilepath
Application.Options.DefaultFilePath(wdDocumentsPath) = "D:\COMPTE.R\test macro\assemblage\"
je viens de faire plusieurs tests mais la fenêtre s'ouvre toujours sur "c:\......." la fenêtre par défaut que j'avais avant.
je sais que j'ai besoin de la variable "dlgFile" pour suite du code.
est il possible que les 3 lignes de code se perturbent l'une l'autre.
Application.Options.DefaultFilePath(wdDocumentsPath) = "D:\COMPTE.R\test macro\assemblage\"
ChDir "D:\COMPTE.R\test macro\assemblage\"
Set dlgFile = Application.FileDialog(msoFileDialogFilePicker)
je sais que j'ai besoin de la variable "dlgFile" pour suite du code.
est il possible que les 3 lignes de code se perturbent l'une l'autre.
Application.Options.DefaultFilePath(wdDocumentsPath) = "D:\COMPTE.R\test macro\assemblage\"
ChDir "D:\COMPTE.R\test macro\assemblage\"
Set dlgFile = Application.FileDialog(msoFileDialogFilePicker)
yg_be
Messages postés
23512
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 avril 2025
Ambassadeur
1 575
4 juin 2020 à 10:05
4 juin 2020 à 10:05
je ne suis pas sure de tout comprendre dans l'exemple donné.
Mais je pense qu'il faut remplacer les 3 lignes citées plus haut par une versions modifie et adapté du code exemple.
Je me demande si cela fonctionnera avec le reste du code qui utile la même variable: Dim dlgFile As FileDialog.
je ne voudrai pas détruire le code que j'ai si j'ai mal compris l'exemple donnée.
Pouvez vous me confirmer que j'ai bien compris l'exemple merci.
Pour info, je débute sur VBA et je ne suis pas sure d'avoir toutes les bases pour tout comprendre en une foi.
Mais je pense qu'il faut remplacer les 3 lignes citées plus haut par une versions modifie et adapté du code exemple.
Je me demande si cela fonctionnera avec le reste du code qui utile la même variable: Dim dlgFile As FileDialog.
je ne voudrai pas détruire le code que j'ai si j'ai mal compris l'exemple donnée.
Pouvez vous me confirmer que j'ai bien compris l'exemple merci.
Pour info, je débute sur VBA et je ne suis pas sure d'avoir toutes les bases pour tout comprendre en une foi.
yg_be
Messages postés
23512
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 avril 2025
1 575
Modifié le 4 juin 2020 à 11:13
Modifié le 4 juin 2020 à 11:13
en repartant du code que tu as montré au départ, je suggère:
- de supprimer la ligne 6
- d'ajouter ceci après la ligne 7:
- de supprimer la ligne 6
- d'ajouter ceci après la ligne 7:
dlgFile.InitialFileName = "D:\COMPTE.R\test macro\assemblage\"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai poursuivi mes test et j'ai obtenu un code qui fonctionne.
le voici:
merci pour votre aide bonne journée
le voici:
Sub assemblageDoc() Dim dlgFile As FileDialog Dim nTotalFiles As Integer Dim nEachSelectedFile As Integer Set dlgFile = Application.FileDialog(msoFileDialogFilePicker) With dlgFile .InitialFileName = "D:\COMPTE.R\test macro\assemblage\" .AllowMultiSelect = True If .Show <> -1 Then Exit Sub Else nTotalFiles = .SelectedItems.Count End If End With For nEachSelectedFile = 1 To nTotalFiles Selection.InsertFile dlgFile.SelectedItems.Item(nEachSelectedFile) If nEachSelectedFile < nTotalFiles Then Selection.InsertBreak Type:=wdPageBreak Else If nEachSelectedFile = nTotalFiles Then Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="2" Selection.Find.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With With ActiveDocument .TablesOfContents.Add Range:=Selection.Range, RightAlignPageNumbers:= _ True, UseHeadingStyles:=True, UpperHeadingLevel:=1, _ LowerHeadingLevel:=3, IncludePageNumbers:=True, AddedStyles:="", _ UseHyperlinks:=True, HidePageNumbersInWeb:=True, UseOutlineLevels:= _ True .TablesOfContents(1).TabLeader = wdTabLeaderDots .TablesOfContents.Format = wdIndexIndent End With Exit Sub End If End If Next nEachSelectedFile End Sub
merci pour votre aide bonne journée