Aide pour code VBA, création dossier et récupération du chemin pour piloter shell

st007

XLDnaute Barbatruc
Bonjour,

J'ai ce code
Code:
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

Merci d'avance de l'attention portée à mon soucis
 
G

Guest

Guest
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).

a+
 

st007

XLDnaute Barbatruc
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
 

st007

XLDnaute Barbatruc
Re : Aide pour code VBA, création dossier et récupération du chemin pour piloter shel

Bonsoir,

RetVal = Shell("D:\TOTO\Radio\Coucou\DICOMParser -fE:\IMAGES -s -o&NOMDOSSIER")

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

Une idée, ??
 
G

Guest

Guest
Re : Aide pour code VBA, création dossier et récupération du chemin pour piloter shel

Bonjour,

Attention au placement des guillemets et des sections concaténées par &
"D:\TOTO\Radio\Coucou\DICOMParser -fE:\IMAGES -s -o" & NOMDOSSIER

A+
 

st007

XLDnaute Barbatruc
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
Sans-titre-1.jpg

une lumière ..
 

Pièces jointes

  • Sans-titre-1.jpg
    Sans-titre-1.jpg
    20.1 KB · Affichages: 99
  • Sans-titre-1.jpg
    Sans-titre-1.jpg
    20.1 KB · Affichages: 104
Dernière édition:

PMO2

XLDnaute Accro
Re : Aide pour code VBA, création dossier et récupération du chemin pour piloter shel

Bonjour,

Je fais juste une remarque concernant les quotes.

Quote = ' (touche 4 du clavier)
Double quotes = " (touche 3 du clavier)

Peut être faites-vous une confusion.
 

Discussions similaires

Statistiques des forums

Discussions
312 185
Messages
2 086 010
Membres
103 090
dernier inscrit
Createlier