Ceci est ma macro originale dans Excel:
- Code: Tout sélectionner
Sub Enregistresous()
info1 = Sheets("Principale").Range("D2")
info2 = Sheets("Principale").Range("L2")
enregistre = ActiveWorkbook.Path & "\" & info1 & " - " & info2 & ".xlsm"
ThisWorkbook.SaveAs (enregistre)
End Sub
Voilà mon fichier:
http://www.cijoint.fr/cjlink.php?file=c ... zHV9bM.ods
Windows XP pro, OpenOffice version 3.0
Merci infiniement encore une fois!
Seb
PS: Celle-ci est ma dernière question, après mon projet est terminé
-- Dim Aoû 29, 2010 5:28 pm --
En cherchant, j'ai trouvé plus ou moins ce que je cherchais, je l'ai adapté à mes besoin. La seule chose que je n'arrive pas à faire, c'est de sauvegarder le fichier dans le dossier où il se trouve; sachant que se sera sans un dossier sur une clef USB, je ne peut faire de chemin absolu.
- Code: Tout sélectionner
Dim oDoc as Object
Dim sD1 as String
Dim sD2 as String
Dim sPathBackupFolder as String
Dim filespec As string
Dim myfilename As String
Dim oFeuille As Object
Dim sNomFeuille As String
oDoc = ThisComponent
sPathBackupFolder = "\\MonServeur\Sauvegarde$\"
oFeuille = oDoc.getCurrentController().getActiveSheet() 'affecte le nom de la feuille active à la variable feuille
sNomFeuille = oFeuille.getName() 'récupère le nom de la feuille
sD1 = oFeuille.GetCellRangeByName("D1").String 'récupère le texte de la cellule D1
sD2 = oFeuille.GetCellRangeByName("D2").String 'récupère le texte de la cellule D2
'copie de sauvegarde avec date
'Chemin et nom de fichier composé
myfilename = sPathBackupFolder+sD1+"_"+sD2+"_"+Day(Date)+Month(Date)+Year(Date)+"_"+sNomFeuille+".ods"
'Enregistrer sous
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = ConvertToUrl(myfilename) 'On converti le chemin
args1(1).Name = "FilterName"
args1(1).Value = "calc8"
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())