Sub Créationdossier()
Dim NOMDOSSIER$
NOMDOSSIER = "ENTETESDICOM"
If Dir("D:\ENTETESDICOM", vbDirectory) = "" Then MkDir "d:\" & NOMDOSSIER
RetVal = Shell("D:\TOTO\Radio\Coucou\DICOMParser -fE:\IMAGES -s -oD:\ENTETESDICOM")
End Sub
ce code me permet de créer le dossier "ENTETESDICOM" en ayant vérifier qu'il n'existe pas.
DICOMParser est un programme qui me permet d'extraire les en-têtes d'une image dicom
par cette commande : DICOMParser -fE:\IMAGES -s -oD:\ENTETESDICOM
le logiciel s'ouvre, prends les en-têtes des images du dossier "IMAGES" du lecteur E:\ pour les stocker dans le dossier D:\ENTETESDICOM
mon soucis est de parvenir à généraliser les chemins de dossiers
peut on demander à excel d'ouvrir la boite de dialogue windows pour créer le dossier à l'endroit de mon choix
je n'ai pas trop de doutes sur ce point, bien que je n'ai pas les connaissances nécessaires pour y parvenir du premier coup mais je grattes dans divers post
mon plus gros soucis est d'intégrer le chemin de mon dossier fraîchement créé dans la commande shell, et là, je sèche complètement
Re : Aide pour code VBA, création dossier et récupération du chemin pour piloter shel
Bonjour,
A tester:
Code:
Function FoldPick(Optional InitialDir As String = "") As String
'Crée par tototiti pour:
'http://www.excel-downloads.com/forum/141731-comment-selectionner-un-chemin-vers-un-repertoire-laide-dun-bouton-parcourir.html#post839924
Dim FD As FileDialog
FoldPick = ""
Set FD = Application.FileDialog(msoFileDialogFolderPicker)
FD.InitialFileName = InitialDir
If FD.Show <> 0 Then
FoldPick = FD.SelectedItems(1)
End If
End Function
Sub Créationdossier()
Dim RetVal As Long
Dim NOMDOSSIER$
NOMDOSSIER = "ENTETESDICOM"
NOMDOSSIER = FoldPick(NOMDOSSIER)
If NOMDOSSIER <> "" Then RetVal = Shell(NOMDOSSIER & " -fE:\IMAGES -s -oD:\ENTETESDICOM")
End Sub
Tu pourras créer le dossier par la fenêtre de choix.(bouton nouveau dossier).
Re : Aide pour code VBA, création dossier et récupération du chemin pour piloter shel
Bonjour Hasco,
merci de te pencher sur mon cas,
pour reprendre :
par cette commande : DICOMParser -fE:\IMAGES -s -oD:\ENTETESDICOM
le logiciel s'ouvre, prends les en-têtes des images du dossier "IMAGES" du lecteur E:\ pour les stocker dans le dossier D:\ENTETESDICOM
c'est la partie -oD:\ENTETESDICOM que je voudrais remplacer par le chemin du dossier nouvellement créé
çà deviendrait par exemple : DICOMParser -fE:\IMAGES -s -oC:\ENTETESDICOM
puisque je viendrais de créer le dossier ENTETESDICOM à la racine du C:
est-ce possible ?
c'est en gros une ligne de commande envoyée à cmd en dos
par exemple car j'ai déjà fait nombre d'essai , ne fonctionne pas
çà ouvre bien le programme DICOMParser (situé dans D:\TOTO\Radio\Coucou\), mais ne reconnaît pas NOMDOSSIER comme chemin de dossier pour enregistrer ses fichiers
Re : Aide pour code VBA, création dossier et récupération du chemin pour piloter shel
Bonjour et toujours merci
Cette formulation fonctionne que lorsque le chemin ne comporte aucun espace
ex : D:\toto\grrr\ENTETESDICOM
mais si je voulais sur le bureau, çà plante a cause de l'espace entre documents et and
ex : C:\documents and settings\toto\ENTETESDICOM
dans le programme, je lis :
Note 2. Use quotes when arguments include spaces.
F.e. DICOMparser "-fD:\DICOM files"
avec mes essais de placement de & """ &, cette ligne se met en rouge et la macro ne fait plus rien
cette commande fonctionne au départ du dos