OVH Cloud OVH Cloud

choix chemin fichiers

6 réponses
Avatar
darib52
bonjour,
je découvre votre forum.
j'ai une macro qui permet de copier un doc Word dans excel.
mon souci est que le chemin doit pouvoir être modifié.
comment obtenir une boite dialogue qui me permette de renseigner le
chemin du doc à copier?
merci de vos avis et solutions ( peut-être )
amitiés

la macro

Sub Bouton2_QuandClic()
Dim Wrd As Object

Application.ScreenUpdating = False

Set Wrd = CreateObject("word.application")
Wrd.Visible = False
Wrd.documents.Open ("C:\aujeurres.rtf")
Wrd.Selection.WholeStory
Wrd.Selection.Copy
Range("a1").Select
ActiveSheet.Paste
Wrd.Application.Quit

End Sub

6 réponses

Avatar
AV
comment obtenir une boite dialogue qui me permette de renseigner le
chemin du doc à copier?


Sub zz()
monChemin = InputBox("Saisissez le chemin complet", "")
'.........
Wrd.documents.Open (monChemin)
'...........
End Sub

AV

Avatar
anonymousA
bonjour,

bien que je n'y connaisse à peu près rien aux méthodes et
propriétés de Word, en allant jeter un coup d'oeil sur l'explorateur
d'objets de celui-ci, j'y ai trouvé la méthode suivante
ChangeFileOpenDirectory avec l'exemple suivant

ChangeFileOpenDirectory "C:My Documents"
Documents.Open FileName:="Test.doc"

Il me semble que ca puisse convenir pour changer de répertoire bien
qu'en l'occurrence je n'ai pas trouvé de méthode GetOpenFileName dans
WORD ce qui est bien dommage mais ca doit surement exister.
Ceci dit, tu pourrais parfaitement utiliser cette méthode
GetOpenFileName en Excel pour permettre à ton utilisateur de choisir
le chemin qu'il souhaite puis récupérer celui-ci et enfin écrire
Wrd.documents.Open "chemin choisi" & "aujeurres.rtf"

Enfin , ce que j'en dis !!!

A+
Avatar
Daniel
Bonjour.
J'ai récupéré ce code que j'utilise (sans le comprendre) :
---------------------------------
Public Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type

'32-bit API declarations
Declare Function SHGetPathFromIDList Lib "shell32.dll" _
Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String)
_
As Long

Declare Function SHBrowseForFolder Lib "shell32.dll" _
Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long


Sub Test()
Dim Msg As String
Msg = "Please select a location for the backup."
MsgBox GetDirectory(Msg)
End Sub

Function GetDirectory(Optional Msg) As String
Dim bInfo As BROWSEINFO
Dim path As String
Dim r As Long, x As Long, pos As Integer

' Root folder = Desktop
bInfo.pidlRoot = 0&

' Title in the dialog
If IsMissing(Msg) Then
bInfo.lpszTitle = "Select a folder."
Else
bInfo.lpszTitle = Msg
End If

' Type of directory to return
bInfo.ulFlags = &H1

' Display the dialog
x = SHBrowseForFolder(bInfo)

' Parse the result
path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal path)
If r Then
pos = InStr(path, Chr$(0))
GetDirectory = Left(path, pos - 1)
Else
GetDirectory = ""
End If
End Function
-----------------------------------------
La macro Test renvoie le chemin dans la variable Msg (dans un MsgBox, à
adapter selon tes besoins)
Cordialement.
Daniel

"darib52" a écrit dans le message de news:

bonjour,
je découvre votre forum.
j'ai une macro qui permet de copier un doc Word dans excel.
mon souci est que le chemin doit pouvoir être modifié.
comment obtenir une boite dialogue qui me permette de renseigner le chemin
du doc à copier?
merci de vos avis et solutions ( peut-être )
amitiés

la macro

Sub Bouton2_QuandClic()
Dim Wrd As Object

Application.ScreenUpdating = False

Set Wrd = CreateObject("word.application")
Wrd.Visible = False
Wrd.documents.Open ("C:aujeurres.rtf")
Wrd.Selection.WholeStory
Wrd.Selection.Copy
Range("a1").Select
ActiveSheet.Paste
Wrd.Application.Quit

End Sub


Avatar
Lulu la nantaise
Bonjour à tous,
Pour me raccrocher à cette question, comment est-il possible de créer un
PATH et bien sur de le rendre destinataire par défaut ?
Merci
Lulu
"darib52" a écrit dans le message de
news:
bonjour,
je découvre votre forum.
j'ai une macro qui permet de copier un doc Word dans excel.
mon souci est que le chemin doit pouvoir être modifié.
comment obtenir une boite dialogue qui me permette de renseigner le
chemin du doc à copier?
merci de vos avis et solutions ( peut-être )
amitiés

la macro

Sub Bouton2_QuandClic()
Dim Wrd As Object

Application.ScreenUpdating = False

Set Wrd = CreateObject("word.application")
Wrd.Visible = False
Wrd.documents.Open ("C:aujeurres.rtf")
Wrd.Selection.WholeStory
Wrd.Selection.Copy
Range("a1").Select
ActiveSheet.Paste
Wrd.Application.Quit

End Sub


Avatar
darib52
comment obtenir une boite dialogue qui me permette de renseigner le
chemin du doc à copier?



Sub zz()
monChemin = InputBox("Saisissez le chemin complet", "")
'.........
Wrd.documents.Open (monChemin)
'...........
End Sub

AV


merci beaucoup

c'est simple et ça fonctionne tout seul.


Avatar
jb
Si on a Excel 2002 ou +:

Sub essai()
rep= ChoixDossier() ' on récupère le nom du dossier dans la
variable rep
Msgbox rep
End Sub

Function ChoixDossier()
If Val(Application.Version) >= 10 Then ' version 2002
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = ActiveWorkbook.Path & ""
.Show
If .SelectedItems.Count > 0 Then
ChoixDossier = .SelectedItems(1)
Else
ChoixDossier = ""
End If
End With
Else
ChoixDossier = InputBox("Répertoire?")
End If
End Function

Un exemple:
http://www.excelabo.net/compteclic.php?nom=jb-arborescencerepertoire

JB