Macro Word choix du fichier à ouvrir

Delirium

XLDnaute Occasionnel
Bonsoir à tous.

Je suis entrain de faire une macro word pour ouvrir des fichiers qui proviennent d'une application Macintosh. Ces fichiers sont des fichier texte (fichier .NBDM) en UTF-8

Sous word, lorsque j'ouvre bêtement ces fichiers cela marche, sauf que word demande quel codage choisir pour rendre le document lisible et il faut choisir Unicode UTF-8, si non les caractères spéciaux pose problème.

J'ai voudrais faire une macro qui ouvre la boite de dialogue habituelle de word "ouvrir un fichier" pour que l'utilisateur choisisse son fichier *.NBDM dans le répertoire de son choix, puis que la macro choisisse automatiquement le codage Unicode UTF-8.


ma macro avec l'enregistreur m'a donner :

Sub Macro8()
'
' Macro8 Macro
' Macro enregistrée le 03/11/2009 par nabat012
'
ActiveWindow.Panes(1).Activate
Documents.Open FileName:= _
"Monfichier.nbdm", _
ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto, XMLTransform:="", Encoding:=65001
End Sub




Et j'ai essayé de la modifier :

Sub Macro9()
ActiveWindow.Panes(1).Activate
Documents.Open FileName:=Application.GetOpenFilename("Fichier(*.NBDM),"), _
ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto, XMLTransform:="", Encoding:=65001
End Sub

J'ai chercher un peu partout sur le net mais rien a faire, toutes les solutions que j'ai trouvés ne marche pas.

Donc je fais appel aux dieux de word et de la macro ;)


Merci d'avance
 

JNP

XLDnaute Barbatruc
Re : Macro Word choix du fichier à ouvrir

Bonsoir Delirium :),
Après recherche sur l'aide, la méthode GetOpenFileName ne semble pas exister sur Word... Un petit truc pour vérifier qu'une méthode passe bien, tapper tout en minuscule, les majuscules se remettent automatiquement au changement de ligne ;).
Donc j'ai trouvé la méthode FileDialog, qui est plus complexe à mettre en oeuvre, mais qui parait fonctionner chez moi (je n'ai pas de fichier nbdm à tester...). Par contre, je suis désolé, je n'ai pas trouvé les filtres facilement, donc je me suis arrêté là.
Code:
Sub Ouverture()
Dim Chemin As String
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
Chemin = vrtSelectedItem
Documents.Open FileName:=Chemin, _
ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto, XMLTransform:="", Encoding:=65001
Next vrtSelectedItem
Else
End If
End With
Set fd = Nothing
End Sub
Bon courage :cool:
 

Delirium

XLDnaute Occasionnel
Re : Macro Word choix du fichier à ouvrir

Merci beaucoup

Ça marche nickel ;)

Une dernière question:

Comment vous faites pour savoir ce qu'il faut écrie comme code pour faire vos macros, car j'ai bien acheter un livre sur les macros XL, mais celui ci donne plein d'exemples, qui quand je les lit, me semble compréhensible, mais quand je dois en développer une pour mes application, je ne sais pas ce qu'il faut écrire.

La seul méthode que j'ai, c'est d'utiliser l'enregistreur de macro puis de venir la modifiée.

J'aimerais bien pouvoir développer mes macro sans toujours poser des questions aux pros sur XL Download.

Merci encore
 

JNP

XLDnaute Barbatruc
Re : Macro Word choix du fichier à ouvrir

Re :),
Une dernière question:
Comment vous faites pour savoir ce qu'il faut écrie comme code pour faire vos macros, car j'ai bien acheter un livre sur les macros XL, mais celui ci donne plein d'exemples, qui quand je les lit, me semble compréhensible, mais quand je dois en développer une pour mes application, je ne sais pas ce qu'il faut écrire.La seul méthode que j'ai, c'est d'utiliser l'enregistreur de macro puis de venir la modifiée.
Vaste question :p...
Personnellement, j'ai lu différents bouquins sur VBA (Excel 2003, 2007 et Access), et surtout j'ai eu des besoins. Comme toi, j'ai beaucoup utilisé l'enregistreur au début (je l'utilise encore quand il me manque des petits bouts :D). Après, j'utilise aussi bien l'aide (c'est ce que j'ai fait pour ta macro Word car je programme quasi exclusivement sous Excel) pour mieux comprendre les fonctions, les objets, leurs arguments, etc. et aussi trouver des petits bouts de codes que j'essaie puis arrange pour mes propres besoins. Et je crois que c'est surtout la pratique régulière qui te permet d'avancer.
Ne pas oublier bien sûr ce forum qui contient des mines d'or pour le code (mais plutôt Excel) et d'excellents tutos comme ceux de JB ou d'autres qui participes aussi à XLD.
Voilà, bon courage :cool:
 

Statistiques des forums

Discussions
312 251
Messages
2 086 617
Membres
103 265
dernier inscrit
jojolapraline