[Résolu] [Calc] Enregistrer avec le nom d'une cellule

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Macrocenter
NOOuvel adepte
NOOuvel adepte
Messages : 19
Inscription : 26 janv. 2009 17:06

[Résolu] [Calc] Enregistrer avec le nom d'une cellule

Message par Macrocenter »

Bonjour à tous.

Merci pour ce forum fort passionnant.

Je voudrais savoir comment faire pour enregistrer un formulaire en fonction du nom.
En prenant exemple sur l'image ci-dessous je voudrais lorsque j'appuie sur le bouton "enregistrer" que le formulaire soir enregistré (sauvegarder sous) avec le nom (à chaque fois différent) que j'aurais écris en B4.

Image

Merci. :wink:
Dernière modification par Bidouille le 19 août 2009 15:28, modifié 4 fois.
Raison : Déplacé in fine en Macro
OpenOffice 3 sous Vista
Avatar de l’utilisateur
Loopingss
InconditiOOnnel
InconditiOOnnel
Messages : 783
Inscription : 17 déc. 2008 01:50

Re: Enregistrer en fonction du nom.

Message par Loopingss »

Bonjour et bienvenue sur le forum.
Ce problème a déjà été abordé et résolu.
Voyez ce fil : http://user.services.openoffice.org/fr/ ... strer+calc
COOordialement
Macrocenter
NOOuvel adepte
NOOuvel adepte
Messages : 19
Inscription : 26 janv. 2009 17:06

Re: Enregistrer en fonction du nom.

Message par Macrocenter »

J'ai trouvé ce truc sur un autre post et ça marche.

Code : Tout sélectionner

sub enregistre
rem ----------------------------------------------------------------------
rem definitions des variables
rem ----------------------------------------------------------------------
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
rem ----------------------------------------------------------------------
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
rem Récupération du contenu de la cellule B8
rem ----------------------------------------------------------------------
MonDoc = ThisComponent
MaFeuil = MonDoc.CurrentController.ActiveSheet
MonTxt = MaFeuil.GetCellRangeByName("B8").String
rem ----------------------------------------------------------------------
rem Enregistrement du nouveau fichier
rem ----------------------------------------------------------------------
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///C:/Documents/historique/" & MonTxt & ".ods"
args1(1).Name = "FilterName"
args1(1).Value = "calc8"
args1(2).Name = "SelectionOnly"
args1(2).Value = true

dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())

rem ----------------------------------------------------------------------
rem fin de la macro
rem ----------------------------------------------------------------------

end sub
Bien sûr dans mon cas je devrais changer "B8" par "B4"

Mais si je veux en plus ajouter à mon nom de fichier le contenu de la cellule "B8" (dans mon exemple la date) que dois-je faire ?
Dernière modification par Oukcha le 19 avr. 2009 13:53, modifié 2 fois.
Raison : Mise en page ; pour baliser votre macro, utilisez les balises "code", et non les balises "quote" qui servent aux citations
OpenOffice 3 sous Vista
jjk
HédOOniste
HédOOniste
Messages : 1696
Inscription : 27 oct. 2008 14:30

Re: Enregistrer en fonction du nom.

Message par jjk »

Il faut ajouter

Code : Tout sélectionner

MonTxt2 = MaFeuil.GetCellRangeByName("B8").String
après la ligne "MonTxt..." et remplacer

Code : Tout sélectionner

args1(0).Value = "file:///C:/Documents/historique/" & MonTxt & ".ods"
par

Code : Tout sélectionner

args1(0).Value = "file:///C:/Documents/historique/" & MonTxt & MonTxt2 & ".ods"
OpenOffice 3.1.1 sous XP-SP2 et LibreOffice 3.5.0 sous Win 7
Macrocenter
NOOuvel adepte
NOOuvel adepte
Messages : 19
Inscription : 26 janv. 2009 17:06

Re: Enregistrer en fonction du nom.

Message par Macrocenter »

Merci pour ta réponse. :bravo:

En cherchant et en réfléchissant j'avais trouvé la même chose que toi.

Attention, la date il ne faut pas l'écrire sous la forme 14/04/2009 sinon ça ne marche pas.

:wink:
OpenOffice 3 sous Vista