Mon interrogation s'articule en deux temps :
1) Créer un nouveau dossier dont le nom est constitué d’informations récupérées dans des cellules de mon classeur (ce dossier devant être créé dans le dossier parent où se trouve le fichier original) (je suis clair
2) Enregistrer une nouvelle version du fichier original à partir d'informations récupérées dans des cellules de mon classeur à l’intérieur de ce nouveau répertoire ;
Pour illustrer mes propos voici le code utilisé sous VB pour cette opération :
Code : Tout sélectionner
REM Détermination des variables
Dim Chemin$, Reference$, Client$, Fichier$
'
Chemin = ActiveWorkbook.Path 'Récupération URL Dossier Parent
ChDir Chemin
'
Reference = Range("D6")'Récupération info cellule D6
Client = Range("DdePC!Z21")'Récupération info cellule Z21 de la feuille nommée "DdePC"
'
Fichier = Reference & " - " & Client & " etude" & ".xls"'Détermination du nom du futur fichier
'
If Dir(Reference & Client, 16) = "" Then MkDir Reference & " - " & Client 'Création du répértoire
'
ActiveWorkbook.SaveAs Reference & " - " & Client & Fichier'Enregistrement du nouveau fichier dans le nouveau répertoire
End If
Code : Tout sélectionner
Sub Save()
'
dim document as object
dim dispatcher as object
'
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
'
Nom= thisComponent.Sheets.getByName("Iden_R").getCellRangeByName("D6").String & " - " & thisComponent.Sheets.getByName("DdePC").getCellRangeByName("Z21").String & " etude" & ".ods"
'
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///D:/" & Nom & ".ods"
args1(1).Name = "FilterName"
args1(1).Value = "calc8"
args1(2).Name = "SelectionOnly"
args1(2).Value = true
'
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
'
end sub
Code : Tout sélectionner
args1(0).ValueMes questions seraient donc de savoir comment, d'une part créer un répertoire qui serait nommé par la variable "Nom" et, d’autre part, d'enregistrer, comme le fait la procédure ci-dessus, le nouveau fichier nommé "Nom" à l'intérieur du répertoire fraîchement créé.
Toutes les pistes et suggestions sont les bienvenues,
Merci de votre attention,


